diff --git a/webrtc/api/android/java/src/org/webrtc/Camera1Enumerator.java b/webrtc/api/android/java/src/org/webrtc/Camera1Enumerator.java index 56ee049b62..d96595e7dd 100644 --- a/webrtc/api/android/java/src/org/webrtc/Camera1Enumerator.java +++ b/webrtc/api/android/java/src/org/webrtc/Camera1Enumerator.java @@ -64,6 +64,11 @@ public class Camera1Enumerator implements CameraEnumerator { return info != null && info.facing == android.hardware.Camera.CameraInfo.CAMERA_FACING_BACK; } + @Override + public List getSupportedFormats(String deviceName) { + return getSupportedFormats(getCameraIndex(deviceName)); + } + @Override public CameraVideoCapturer createCapturer(String deviceName, CameraVideoCapturer.CameraEventsHandler eventsHandler) { diff --git a/webrtc/api/android/java/src/org/webrtc/Camera2Capturer.java b/webrtc/api/android/java/src/org/webrtc/Camera2Capturer.java index f1c37a155b..b055f8bb83 100644 --- a/webrtc/api/android/java/src/org/webrtc/Camera2Capturer.java +++ b/webrtc/api/android/java/src/org/webrtc/Camera2Capturer.java @@ -31,11 +31,6 @@ public class Camera2Capturer extends CameraCapturer { cameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE); } - @Override - public List getSupportedFormats() { - return Camera2Enumerator.getSupportedFormats(cameraManager, getCameraName()); - } - @Override protected void createCameraSession( CameraSession.CreateSessionCallback createSessionCallback, diff --git a/webrtc/api/android/java/src/org/webrtc/Camera2Enumerator.java b/webrtc/api/android/java/src/org/webrtc/Camera2Enumerator.java index 1491a8dd33..c723b0da0b 100644 --- a/webrtc/api/android/java/src/org/webrtc/Camera2Enumerator.java +++ b/webrtc/api/android/java/src/org/webrtc/Camera2Enumerator.java @@ -81,6 +81,11 @@ public class Camera2Enumerator implements CameraEnumerator { == CameraMetadata.LENS_FACING_BACK; } + @Override + public List getSupportedFormats(String deviceName) { + return getSupportedFormats(context, deviceName); + } + @Override public CameraVideoCapturer createCapturer(String deviceName, CameraVideoCapturer.CameraEventsHandler eventsHandler) { diff --git a/webrtc/api/android/java/src/org/webrtc/CameraEnumerator.java b/webrtc/api/android/java/src/org/webrtc/CameraEnumerator.java index 752e10aed2..ac7556dd1f 100644 --- a/webrtc/api/android/java/src/org/webrtc/CameraEnumerator.java +++ b/webrtc/api/android/java/src/org/webrtc/CameraEnumerator.java @@ -10,10 +10,15 @@ package org.webrtc; +import org.webrtc.CameraEnumerationAndroid.CaptureFormat; + +import java.util.List; + public interface CameraEnumerator { public String[] getDeviceNames(); public boolean isFrontFacing(String deviceName); public boolean isBackFacing(String deviceName); + public List getSupportedFormats(String deviceName); public CameraVideoCapturer createCapturer(String deviceName, CameraVideoCapturer.CameraEventsHandler eventsHandler); diff --git a/webrtc/api/android/java/src/org/webrtc/ScreenCapturerAndroid.java b/webrtc/api/android/java/src/org/webrtc/ScreenCapturerAndroid.java index f162cba950..bd5f303aab 100644 --- a/webrtc/api/android/java/src/org/webrtc/ScreenCapturerAndroid.java +++ b/webrtc/api/android/java/src/org/webrtc/ScreenCapturerAndroid.java @@ -99,15 +99,6 @@ public class ScreenCapturerAndroid implements applicationContext.getSystemService(Context.MEDIA_PROJECTION_SERVICE); } - /** - * This method is not called by native code, neither by the java app. It can be removed later - * once it is removed from the VideoCapturer interface. - */ - @Override - public List getSupportedFormats() { - return null; - } - @Override public synchronized void startCapture(final int width, final int height, final int ignoredFramerate) { diff --git a/webrtc/api/android/java/src/org/webrtc/VideoCapturer.java b/webrtc/api/android/java/src/org/webrtc/VideoCapturer.java index 79cf6c3d7f..c0b4d69bc2 100644 --- a/webrtc/api/android/java/src/org/webrtc/VideoCapturer.java +++ b/webrtc/api/android/java/src/org/webrtc/VideoCapturer.java @@ -90,11 +90,6 @@ public interface VideoCapturer { int width, int height, int framerate); } - /** - * Returns a list with all the formats this VideoCapturer supports. - */ - List getSupportedFormats(); - /** * This function is used to initialize the camera thread, the android application context, and the * capture observer. It will be called only once and before any startCapture() request. The diff --git a/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java b/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java index 4681c07a7f..8f4fce7fe3 100644 --- a/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java +++ b/webrtc/api/android/java/src/org/webrtc/VideoCapturerAndroid.java @@ -204,11 +204,6 @@ public class VideoCapturerAndroid implements } } - @Override - public List getSupportedFormats() { - return Camera1Enumerator.getSupportedFormats(getCurrentCameraId()); - } - // Returns true if this VideoCapturer is setup to capture video frames to a SurfaceTexture. public boolean isCapturingToTexture() { return isCapturingToTexture; diff --git a/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java b/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java index f35d50957c..c8c2907628 100644 --- a/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java +++ b/webrtc/api/androidtests/src/org/webrtc/CameraVideoCapturerTestFixtures.java @@ -348,7 +348,7 @@ class CameraVideoCapturerTestFixtures { instance.capturer.initialize( instance.surfaceTextureHelper, testObjectFactory.getAppContext(), instance.observer); } - instance.supportedFormats = instance.capturer.getSupportedFormats(); + instance.supportedFormats = testObjectFactory.cameraEnumerator.getSupportedFormats(name); return instance; }