diff --git a/src/org/linphone/core/video/AndroidCameraConf.java b/src/org/linphone/core/video/AndroidCameraConf.java index 85bbe4526..9796ba12b 100644 --- a/src/org/linphone/core/video/AndroidCameraConf.java +++ b/src/org/linphone/core/video/AndroidCameraConf.java @@ -45,6 +45,16 @@ interface AndroidCameraConf { boolean hasFrontCamera() { return front != null; } boolean hasRearCamera() { return rear != null; } - boolean hasSeveralCameras() { return front != rear && front != null; } + boolean hasSeveralCameras() { return front != rear && front != null; } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("Cameras :"); + if (rear != null) sb.append(" rear=").append(rear); + if (front != null) sb.append(" front=").append(front); + if (defaultC != null) sb.append(" default=").append(defaultC); + return sb.toString(); + } } } \ No newline at end of file diff --git a/src/org/linphone/core/video/AndroidCameraRecord.java b/src/org/linphone/core/video/AndroidCameraRecord.java index 64af664f5..d807a30cc 100644 --- a/src/org/linphone/core/video/AndroidCameraRecord.java +++ b/src/org/linphone/core/video/AndroidCameraRecord.java @@ -22,6 +22,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import org.linphone.core.Version; + import android.hardware.Camera; import android.hardware.Camera.ErrorCallback; import android.hardware.Camera.Parameters; @@ -65,6 +67,7 @@ public abstract class AndroidCameraRecord { } + Log.d(tag, "Trying to open camera with id " + params.cameraId); camera = openCamera(params.cameraId); camera.setErrorCallback(new ErrorCallback() { public void onError(int error, Camera camera) { @@ -74,9 +77,12 @@ public abstract class AndroidCameraRecord { Camera.Parameters parameters=camera.getParameters(); - parameters.set("camera-id",params.cameraId); - camera.setParameters(parameters); - parameters = camera.getParameters(); + if (Version.sdkStrictlyBelow(9)) { + parameters.set("camera-id",params.cameraId); + camera.setParameters(parameters); + parameters = camera.getParameters(); + } + if (supportedVideoSizes == null) { supportedVideoSizes = new ArrayList(getSupportedPreviewSizes(parameters)); } diff --git a/src/org/linphone/core/video/AndroidCameraRecordManager.java b/src/org/linphone/core/video/AndroidCameraRecordManager.java index 4649fe0b2..f86e82bf9 100644 --- a/src/org/linphone/core/video/AndroidCameraRecordManager.java +++ b/src/org/linphone/core/video/AndroidCameraRecordManager.java @@ -67,6 +67,7 @@ public class AndroidCameraRecordManager { // singleton private AndroidCameraRecordManager() { cc = Version.sdkAboveOrEqual(9) ? new AndroidCameraConf9() : new AndroidCameraConf5(); + Log.i(tag, "=== Detected " + cc.getFoundCameras()+ " ==="); cameraId = cc.getFoundCameras().defaultC; }