Added focus support. Rotation functinonal.
This commit is contained in:
parent
ef01a009d5
commit
b23207e728
2 changed files with 30 additions and 5 deletions
|
@ -20,6 +20,7 @@ package org.linphone.core;
|
|||
|
||||
import android.hardware.Camera;
|
||||
import android.hardware.Camera.ErrorCallback;
|
||||
import android.hardware.Camera.Parameters;
|
||||
import android.hardware.Camera.PreviewCallback;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
|
@ -46,7 +47,7 @@ public abstract class AndroidCameraRecord {
|
|||
private static AndroidCameraRecord instance;
|
||||
private static Handler handler;
|
||||
private static boolean previewStarted;
|
||||
private static int orientationCode;
|
||||
protected static int orientationCode;
|
||||
|
||||
public AndroidCameraRecord() {
|
||||
// TODO check if another instance is loaded and kill it.
|
||||
|
@ -99,11 +100,21 @@ public abstract class AndroidCameraRecord {
|
|||
|
||||
parameters.setPreviewSize(width, height);
|
||||
parameters.setPreviewFrameRate(fps);
|
||||
// parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_EDOF);
|
||||
camera.setParameters(parameters);
|
||||
camera.setDisplayOrientation(90 * orientationCode);
|
||||
// parameters.setRotation()
|
||||
if (parameters.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_AUTO)) {
|
||||
Log.w("Linphone", "Auto Focus supported by camera device");
|
||||
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
|
||||
} else {
|
||||
Log.w("Linphone", "Auto Focus not supported by camera device");
|
||||
if (parameters.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_INFINITY)) {
|
||||
Log.w("Linphone", "Infinity Focus supported by camera device");
|
||||
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_INFINITY);
|
||||
} else {
|
||||
Log.w("Linphone", "Infinity Focus not supported by camera device");
|
||||
}
|
||||
}
|
||||
|
||||
onSettingParameters(parameters);
|
||||
camera.setParameters(parameters);
|
||||
|
||||
|
||||
|
||||
|
@ -144,6 +155,10 @@ public abstract class AndroidCameraRecord {
|
|||
|
||||
|
||||
|
||||
protected void onSettingParameters(Parameters parameters) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook.
|
||||
* @param camera
|
||||
|
|
|
@ -19,6 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
package org.linphone.core;
|
||||
|
||||
import android.hardware.Camera;
|
||||
import android.hardware.Camera.Parameters;
|
||||
import android.hardware.Camera.PreviewCallback;
|
||||
import android.hardware.Camera.Size;
|
||||
import android.util.Log;
|
||||
|
@ -61,4 +62,13 @@ public class AndroidCameraRecordBufferedImpl extends AndroidCameraRecordImpl {
|
|||
super.onPreviewFrame(data, camera);
|
||||
camera.addCallbackBuffer(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSettingParameters(Parameters parameters) {
|
||||
super.onSettingParameters(parameters);
|
||||
// Only on v8 hardware
|
||||
camera.setDisplayOrientation(90 * orientationCode);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue