Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(301)

Unified Diff: webrtc/api/java/android/org/webrtc/VideoCapturerAndroid.java

Issue 2066773002: Android: Add Size class. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Remove getArea function since it is no longer used. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/api/java/android/org/webrtc/CameraEnumerator.java ('k') | webrtc/base/java/src/org/webrtc/Size.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/api/java/android/org/webrtc/VideoCapturerAndroid.java
diff --git a/webrtc/api/java/android/org/webrtc/VideoCapturerAndroid.java b/webrtc/api/java/android/org/webrtc/VideoCapturerAndroid.java
index f40f7e672863010e872481371dbfb2ca2f53c3c5..d54758b513501c12636f0ee3f50fcb4f80bbdb8d 100644
--- a/webrtc/api/java/android/org/webrtc/VideoCapturerAndroid.java
+++ b/webrtc/api/java/android/org/webrtc/VideoCapturerAndroid.java
@@ -178,6 +178,7 @@ public class VideoCapturerAndroid implements
// It does not matter if width and height are flipped. I.E, |width| = 640, |height| = 480 produce
// the same result as |width| = 480, |height| = 640.
// TODO(magjed/perkj): Document what this function does. Change name?
+ @Override
public void onOutputFormatRequest(final int width, final int height, final int framerate) {
maybePostOnCameraThread(new Runnable() {
@Override public void run() {
@@ -188,6 +189,7 @@ public class VideoCapturerAndroid implements
// Reconfigure the camera to capture in a new format. This should only be called while the camera
// is running.
+ @Override
public void changeCaptureFormat(final int width, final int height, final int framerate) {
maybePostOnCameraThread(new Runnable() {
@Override public void run() {
@@ -392,23 +394,17 @@ public class VideoCapturerAndroid implements
CameraEnumerator.convertFramerates(parameters.getSupportedPreviewFpsRange());
Logging.d(TAG, "Available fps ranges: " + supportedFramerates);
- final CaptureFormat.FramerateRange bestFpsRange;
- if (supportedFramerates.isEmpty()) {
- Logging.w(TAG, "No supported preview fps range");
- bestFpsRange = new CaptureFormat.FramerateRange(0, 0);
- } else {
- bestFpsRange = CameraEnumerationAndroid.getClosestSupportedFramerateRange(
- supportedFramerates, framerate);
- }
+ final CaptureFormat.FramerateRange fpsRange =
+ CameraEnumerationAndroid.getClosestSupportedFramerateRange(supportedFramerates, framerate);
+
+ final Size previewSize = CameraEnumerationAndroid.getClosestSupportedSize(
+ CameraEnumerator.convertSizes(parameters.getSupportedPreviewSizes()), width, height);
- final android.hardware.Camera.Size previewSize =
- CameraEnumerationAndroid.getClosestSupportedSize(
- parameters.getSupportedPreviewSizes(), width, height);
- final CaptureFormat captureFormat = new CaptureFormat(
- previewSize.width, previewSize.height, bestFpsRange);
+ final CaptureFormat captureFormat =
+ new CaptureFormat(previewSize.width, previewSize.height, fpsRange);
// Check if we are already using this capture format, then we don't need to do anything.
- if (captureFormat.isSameFormat(this.captureFormat)) {
+ if (captureFormat.equals(this.captureFormat)) {
return;
}
@@ -423,16 +419,15 @@ public class VideoCapturerAndroid implements
if (captureFormat.framerate.max > 0) {
parameters.setPreviewFpsRange(captureFormat.framerate.min, captureFormat.framerate.max);
}
- parameters.setPreviewSize(captureFormat.width, captureFormat.height);
+ parameters.setPreviewSize(previewSize.width, previewSize.height);
if (!isCapturingToTexture) {
parameters.setPreviewFormat(captureFormat.imageFormat);
}
// Picture size is for taking pictures and not for preview/video, but we need to set it anyway
// as a workaround for an aspect ratio problem on Nexus 7.
- final android.hardware.Camera.Size pictureSize =
- CameraEnumerationAndroid.getClosestSupportedSize(
- parameters.getSupportedPictureSizes(), width, height);
+ final Size pictureSize = CameraEnumerationAndroid.getClosestSupportedSize(
+ CameraEnumerator.convertSizes(parameters.getSupportedPictureSizes()), width, height);
parameters.setPictureSize(pictureSize.width, pictureSize.height);
// Temporarily stop preview if it's already running.
« no previous file with comments | « webrtc/api/java/android/org/webrtc/CameraEnumerator.java ('k') | webrtc/base/java/src/org/webrtc/Size.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698