summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormcasas <mcasas@chromium.org>2016-02-18 22:50:40 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-19 06:51:31 +0000
commit157c17e6d77e64efee6b82947506f544aac3b79f (patch)
tree20390febf6765b84ff6d4258cce813a1837658d7
parent6628852ff038b57385d47d8542bf59d32b98f035 (diff)
downloadchromium_src-157c17e6d77e64efee6b82947506f544aac3b79f.zip
chromium_src-157c17e6d77e64efee6b82947506f544aac3b79f.tar.gz
chromium_src-157c17e6d77e64efee6b82947506f544aac3b79f.tar.bz2
Move VideoCapture* files from media/base/android/... to media/capture/video/android/java/...
** No code changes (except git cl format kicked by presbumit). ** This CL refactors the VideoCapture*java classes from being under media/base/android/java/... into media/capture/video/android/java/... with the idea of bringing all such classes under a single roof as a preparation for http://crbug.com/584797 (CL http://crrev.com/1699553002) which creates an entity (very similar to media/cast/ and media/midi/) with its own .gn and .gyp. BUG=587693, 584797 NOTRY=true Review URL: https://codereview.chromium.org/1705333003 Cr-Commit-Position: refs/heads/master@{#376409}
-rw-r--r--chrome/android/BUILD.gn2
-rw-r--r--content/public/android/BUILD.gn4
-rw-r--r--content/shell/android/BUILD.gn6
-rw-r--r--content/test/BUILD.gn2
-rw-r--r--media/BUILD.gn4
-rw-r--r--media/base/BUILD.gn2
-rw-r--r--media/base/android/BUILD.gn25
-rw-r--r--media/base/android/java/src/org/chromium/media/OWNERS2
-rw-r--r--media/capture/video/android/BUILD.gn36
-rw-r--r--media/capture/video/android/java/src/org/chromium/media/OWNERS2
-rw-r--r--media/capture/video/android/java/src/org/chromium/media/VideoCapture.java (renamed from media/base/android/java/src/org/chromium/media/VideoCapture.java)20
-rw-r--r--media/capture/video/android/java/src/org/chromium/media/VideoCaptureAndroid.java (renamed from media/base/android/java/src/org/chromium/media/VideoCaptureAndroid.java)39
-rw-r--r--media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java (renamed from media/base/android/java/src/org/chromium/media/VideoCaptureCamera.java)54
-rw-r--r--media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java (renamed from media/base/android/java/src/org/chromium/media/VideoCaptureCamera2.java)54
-rw-r--r--media/capture/video/android/java/src/org/chromium/media/VideoCaptureFactory.java (renamed from media/base/android/java/src/org/chromium/media/VideoCaptureFactory.java)26
-rw-r--r--media/capture/video/android/java/src/org/chromium/media/VideoCaptureFormat.java (renamed from media/base/android/java/src/org/chromium/media/VideoCaptureFormat.java)3
-rw-r--r--media/capture/video/android/java/src/org/chromium/media/VideoCaptureTango.java (renamed from media/base/android/java/src/org/chromium/media/VideoCaptureTango.java)44
-rw-r--r--media/media.gyp6
18 files changed, 142 insertions, 189 deletions
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
index 6cf137e..5bc69aa 100644
--- a/chrome/android/BUILD.gn
+++ b/chrome/android/BUILD.gn
@@ -136,7 +136,7 @@ android_library("chrome_java") {
"//components/web_contents_delegate_android:web_contents_delegate_android_java",
"//components/web_restrictions:web_restrictions_java",
"//content/public/android:content_java",
- "//media/base/android:media_java",
+ "//media/capture/video/android:media_java",
"//media/midi:midi_java",
"//net/android:net_java",
"//printing:printing_java",
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
index e726c46..67838f0 100644
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@@ -38,7 +38,7 @@ android_library("content_java") {
"//device/usb:java",
"//device/vibration:mojo_bindings_java",
"//device/vibration/android:vibration_manager_android",
- "//media/base/android:media_java",
+ "//media/capture/video/android:media_java",
"//media/midi:midi_java",
"//mojo/android:system_java",
"//mojo/public/java:bindings",
@@ -176,7 +176,7 @@ android_library("content_javatests") {
"//content/shell/android:content_shell_test_java",
"//device/vibration:mojo_bindings_java",
"//device/vibration/android:vibration_manager_android",
- "//media/base/android:media_java",
+ "//media/capture/video/android:media_java",
"//mojo/android:system_java",
"//mojo/public/interfaces/bindings/tests:test_interfaces_java",
"//mojo/public/java:bindings",
diff --git a/content/shell/android/BUILD.gn b/content/shell/android/BUILD.gn
index 3c6af4d..6a20d79 100644
--- a/content/shell/android/BUILD.gn
+++ b/content/shell/android/BUILD.gn
@@ -45,7 +45,7 @@ android_library("content_shell_java") {
":content_shell_java_resources",
"//base:base_java",
"//content/public/android:content_java",
- "//media/base/android:media_java",
+ "//media/capture/video/android:media_java",
"//mojo/public/java:system",
"//net/android:net_java",
"//ui/android:ui_java",
@@ -79,7 +79,7 @@ android_library("content_shell_apk_java") {
":content_shell_java",
"//base:base_java",
"//content/public/android:content_java",
- "//media/base/android:media_java",
+ "//media/capture/video/android:media_java",
"//net/android:net_java",
"//ui/android:ui_java",
]
@@ -109,7 +109,7 @@ android_apk("content_shell_apk") {
":libcontent_shell_content_view",
"//base:base_java",
"//content/public/android:content_java",
- "//media/base/android:media_java",
+ "//media/capture/video/android:media_java",
"//net/android:net_java",
"//third_party/mesa:osmesa",
"//ui/android:ui_java",
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 4aa5d41..4ad3c61 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -924,7 +924,7 @@ if (is_android) {
deps += [
"//gpu:test_support",
"//media/base/android",
- "//media/base/android:media_java",
+ "//media/capture/video/android:media_java",
"//testing/gmock",
"//ui/android:ui_java",
]
diff --git a/media/BUILD.gn b/media/BUILD.gn
index b1686f4..813aa64 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -403,7 +403,8 @@ component("media") {
deps += [
"//media/base/android",
"//media/base/android:media_jni_headers",
- "//media/base/android:video_capture_jni_headers",
+ "//media/capture/video/android:media_java",
+ "//media/capture/video/android:video_capture_jni_headers",
]
# Only 64 bit builds are using android-21 NDK library, check common.gypi
@@ -719,7 +720,6 @@ test("media_unittests") {
"filters/decrypting_video_decoder_unittest.cc",
]
deps += [
- "//media/base/android:media_java",
"//media/base/android:unittests",
"//ui/android:ui_java",
]
diff --git a/media/base/BUILD.gn b/media/base/BUILD.gn
index 1d1747c..9c4177f 100644
--- a/media/base/BUILD.gn
+++ b/media/base/BUILD.gn
@@ -249,9 +249,7 @@ source_set("base") {
if (is_android) {
public_deps = [
"//media/base/android",
- "//media/base/android:media_java",
"//media/base/android:media_jni_headers",
- "//media/base/android:video_capture_jni_headers",
]
allow_circular_includes_from += [ "//media/base/android" ]
}
diff --git a/media/base/android/BUILD.gn b/media/base/android/BUILD.gn
index 10bfdfe..9e5b914 100644
--- a/media/base/android/BUILD.gn
+++ b/media/base/android/BUILD.gn
@@ -114,28 +114,3 @@ generate_jni("media_jni_headers") {
]
jni_package = "media"
}
-
-generate_jni("video_capture_jni_headers") {
- sources = [
- "java/src/org/chromium/media/VideoCapture.java",
- "java/src/org/chromium/media/VideoCaptureFactory.java",
- ]
- jni_package = "media"
-}
-
-java_cpp_enum("media_java_enums_srcjar") {
- sources = [
- "//media/capture/video/android/video_capture_device_android.h",
- "//media/capture/video/video_capture_device.h",
- ]
-}
-
-android_library("media_java") {
- deps = [
- "//base:base_java",
- ]
-
- srcjar_deps = [ ":media_java_enums_srcjar" ]
-
- DEPRECATED_java_in_dir = "java/src"
-}
diff --git a/media/base/android/java/src/org/chromium/media/OWNERS b/media/base/android/java/src/org/chromium/media/OWNERS
deleted file mode 100644
index 85e4365..0000000
--- a/media/base/android/java/src/org/chromium/media/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-# VideoCapture classes under Android
-per-file VideoCapture*.java=mcasas@chromium.org
diff --git a/media/capture/video/android/BUILD.gn b/media/capture/video/android/BUILD.gn
new file mode 100644
index 0000000..5eab88e
--- /dev/null
+++ b/media/capture/video/android/BUILD.gn
@@ -0,0 +1,36 @@
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/config/android/config.gni")
+import("//build/config/android/rules.gni")
+import("//build/config/arm.gni")
+import("//build/config/ui.gni")
+import("//media/media_options.gni")
+
+assert(is_android)
+
+generate_jni("video_capture_jni_headers") {
+ sources = [
+ "java/src/org/chromium/media/VideoCapture.java",
+ "java/src/org/chromium/media/VideoCaptureFactory.java",
+ ]
+ jni_package = "media"
+}
+
+java_cpp_enum("media_java_enums_srcjar") {
+ sources = [
+ "../video_capture_device.h",
+ "video_capture_device_android.h",
+ ]
+}
+
+android_library("media_java") {
+ deps = [
+ "//base:base_java",
+ ]
+
+ srcjar_deps = [ ":media_java_enums_srcjar" ]
+
+ DEPRECATED_java_in_dir = "java/src"
+}
diff --git a/media/capture/video/android/java/src/org/chromium/media/OWNERS b/media/capture/video/android/java/src/org/chromium/media/OWNERS
new file mode 100644
index 0000000..66e61fe
--- /dev/null
+++ b/media/capture/video/android/java/src/org/chromium/media/OWNERS
@@ -0,0 +1,2 @@
+mcasas@chromium.org
+qinmin@chromium.org
diff --git a/media/base/android/java/src/org/chromium/media/VideoCapture.java b/media/capture/video/android/java/src/org/chromium/media/VideoCapture.java
index bc8351f..2e2a289 100644
--- a/media/base/android/java/src/org/chromium/media/VideoCapture.java
+++ b/media/capture/video/android/java/src/org/chromium/media/VideoCapture.java
@@ -19,7 +19,6 @@ import org.chromium.base.annotations.JNINamespace;
**/
@JNINamespace("media")
public abstract class VideoCapture {
-
// The angle (0, 90, 180, 270) that the image needs to be rotated to show in
// the display's native orientation.
protected int mCameraNativeOrientation;
@@ -33,9 +32,7 @@ public abstract class VideoCapture {
// Native callback context variable.
protected final long mNativeVideoCaptureDeviceAndroid;
- VideoCapture(Context context,
- int id,
- long nativeVideoCaptureDeviceAndroid) {
+ VideoCapture(Context context, int id, long nativeVideoCaptureDeviceAndroid) {
mContext = context;
mId = id;
mNativeVideoCaptureDeviceAndroid = nativeVideoCaptureDeviceAndroid;
@@ -87,8 +84,8 @@ public abstract class VideoCapture {
}
protected final int getCameraRotation() {
- int rotation = mInvertDeviceOrientationReadings
- ? (360 - getDeviceRotation()) : getDeviceRotation();
+ int rotation = mInvertDeviceOrientationReadings ? (360 - getDeviceRotation())
+ : getDeviceRotation();
return (mCameraNativeOrientation + rotation) % 360;
}
@@ -96,7 +93,7 @@ public abstract class VideoCapture {
if (mContext == null) return 0;
final int orientation;
WindowManager wm = (WindowManager) mContext.getSystemService(Context.WINDOW_SERVICE);
- switch(wm.getDefaultDisplay().getRotation()) {
+ switch (wm.getDefaultDisplay().getRotation()) {
case Surface.ROTATION_90:
orientation = 90;
break;
@@ -115,12 +112,9 @@ public abstract class VideoCapture {
}
// Method for VideoCapture implementations to call back native code.
- public native void nativeOnFrameAvailable(long nativeVideoCaptureDeviceAndroid,
- byte[] data,
- int length,
- int rotation);
+ public native void nativeOnFrameAvailable(
+ long nativeVideoCaptureDeviceAndroid, byte[] data, int length, int rotation);
// Method for VideoCapture implementations to signal an asynchronous error.
- public native void nativeOnError(long nativeVideoCaptureDeviceAndroid,
- String message);
+ public native void nativeOnError(long nativeVideoCaptureDeviceAndroid, String message);
}
diff --git a/media/base/android/java/src/org/chromium/media/VideoCaptureAndroid.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureAndroid.java
index 35ec09f..ce384d1 100644
--- a/media/base/android/java/src/org/chromium/media/VideoCaptureAndroid.java
+++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureAndroid.java
@@ -20,18 +20,14 @@ import java.util.List;
**/
@SuppressWarnings("deprecation")
public class VideoCaptureAndroid extends VideoCaptureCamera {
-
// Some devices don't support YV12 format correctly, even with JELLY_BEAN or
// newer OS. To work around the issues on those devices, we have to request
// NV21. This is supposed to be a temporary hack.
private static class BuggyDeviceHack {
private static final String[] COLORSPACE_BUGGY_DEVICE_LIST = {
- "SAMSUNG-SGH-I747",
- "ODROID-U2",
- // See https://crbug.com/577435 for more info.
- "XT1092",
- "XT1095",
- "XT1096",
+ "SAMSUNG-SGH-I747", "ODROID-U2",
+ // See https://crbug.com/577435 for more info.
+ "XT1092", "XT1095", "XT1096",
};
static int getImageFormat() {
@@ -63,8 +59,10 @@ public class VideoCaptureAndroid extends VideoCaptureCamera {
android.hardware.Camera.CameraInfo cameraInfo = VideoCaptureCamera.getCameraInfo(id);
if (cameraInfo == null) return null;
- return "camera " + id + ", facing " + (cameraInfo.facing
- == android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT ? "front" : "back");
+ return "camera " + id + ", facing "
+ + (cameraInfo.facing == android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT
+ ? "front"
+ : "back");
}
static VideoCaptureFormat[] getDeviceSupportedFormats(int id) {
@@ -117,10 +115,8 @@ public class VideoCaptureAndroid extends VideoCaptureCamera {
supportedSizes.add(camera.new Size(0, 0));
}
for (android.hardware.Camera.Size size : supportedSizes) {
- formatList.add(new VideoCaptureFormat(size.width,
- size.height,
- (fpsRange[1] + 999) / 1000,
- pixelFormat));
+ formatList.add(new VideoCaptureFormat(
+ size.width, size.height, (fpsRange[1] + 999) / 1000, pixelFormat));
}
}
}
@@ -128,20 +124,15 @@ public class VideoCaptureAndroid extends VideoCaptureCamera {
return formatList.toArray(new VideoCaptureFormat[formatList.size()]);
}
- VideoCaptureAndroid(Context context,
- int id,
- long nativeVideoCaptureDeviceAndroid) {
+ VideoCaptureAndroid(Context context, int id, long nativeVideoCaptureDeviceAndroid) {
super(context, id, nativeVideoCaptureDeviceAndroid);
}
@Override
- protected void setCaptureParameters(
- int width,
- int height,
- int frameRate,
+ protected void setCaptureParameters(int width, int height, int frameRate,
android.hardware.Camera.Parameters cameraParameters) {
- mCaptureFormat = new VideoCaptureFormat(
- width, height, frameRate, BuggyDeviceHack.getImageFormat());
+ mCaptureFormat =
+ new VideoCaptureFormat(width, height, frameRate, BuggyDeviceHack.getImageFormat());
}
@Override
@@ -167,8 +158,8 @@ public class VideoCaptureAndroid extends VideoCaptureCamera {
return;
}
if (data.length == mExpectedFrameSize) {
- nativeOnFrameAvailable(mNativeVideoCaptureDeviceAndroid,
- data, mExpectedFrameSize, getCameraRotation());
+ nativeOnFrameAvailable(mNativeVideoCaptureDeviceAndroid, data, mExpectedFrameSize,
+ getCameraRotation());
}
} finally {
mPreviewBufferLock.unlock();
diff --git a/media/base/android/java/src/org/chromium/media/VideoCaptureCamera.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java
index 9e10c68..afe58d3 100644
--- a/media/base/android/java/src/org/chromium/media/VideoCaptureCamera.java
+++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera.java
@@ -24,11 +24,10 @@ import java.util.concurrent.locks.ReentrantLock;
**/
@JNINamespace("media")
@SuppressWarnings("deprecation")
-//TODO: is this class only used on ICS MR1 (or some later version) and above?
+// TODO: is this class only used on ICS MR1 (or some later version) and above?
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1)
-public abstract class VideoCaptureCamera extends VideoCapture
- implements android.hardware.Camera.PreviewCallback {
-
+public abstract class VideoCaptureCamera
+ extends VideoCapture implements android.hardware.Camera.PreviewCallback {
protected android.hardware.Camera mCamera;
// Lock to mutually exclude execution of OnPreviewFrame() and {start/stop}Capture().
protected ReentrantLock mPreviewBufferLock = new ReentrantLock();
@@ -42,8 +41,7 @@ public abstract class VideoCaptureCamera extends VideoCapture
private static final String TAG = "cr.media";
protected static android.hardware.Camera.CameraInfo getCameraInfo(int id) {
- android.hardware.Camera.CameraInfo cameraInfo =
- new android.hardware.Camera.CameraInfo();
+ android.hardware.Camera.CameraInfo cameraInfo = new android.hardware.Camera.CameraInfo();
try {
android.hardware.Camera.getCameraInfo(id, cameraInfo);
} catch (RuntimeException ex) {
@@ -66,9 +64,7 @@ public abstract class VideoCaptureCamera extends VideoCapture
return parameters;
}
- VideoCaptureCamera(Context context,
- int id,
- long nativeVideoCaptureDeviceAndroid) {
+ VideoCaptureCamera(Context context, int id, long nativeVideoCaptureDeviceAndroid) {
super(context, id, nativeVideoCaptureDeviceAndroid);
}
@@ -113,8 +109,9 @@ public abstract class VideoCaptureCamera extends VideoCapture
// Use the first range as the default chosen range.
int[] chosenFpsRange = listFpsRange.get(0);
int frameRateNearest = Math.abs(frameRateScaled - chosenFpsRange[0])
- < Math.abs(frameRateScaled - chosenFpsRange[1])
- ? chosenFpsRange[0] : chosenFpsRange[1];
+ < Math.abs(frameRateScaled - chosenFpsRange[1])
+ ? chosenFpsRange[0]
+ : chosenFpsRange[1];
int chosenFrameRate = (frameRateNearest + 999) / 1000;
int fpsRangeSize = Integer.MAX_VALUE;
for (int[] fpsRange : listFpsRange) {
@@ -125,18 +122,16 @@ public abstract class VideoCaptureCamera extends VideoCapture
fpsRangeSize = fpsRange[1] - fpsRange[0];
}
}
- Log.d(TAG, "allocate: fps set to %d, [%d-%d]", chosenFrameRate,
- chosenFpsRange[0], chosenFpsRange[1]);
+ Log.d(TAG, "allocate: fps set to %d, [%d-%d]", chosenFrameRate, chosenFpsRange[0],
+ chosenFpsRange[1]);
// Calculate size.
- List<android.hardware.Camera.Size> listCameraSize =
- parameters.getSupportedPreviewSizes();
+ List<android.hardware.Camera.Size> listCameraSize = parameters.getSupportedPreviewSizes();
int minDiff = Integer.MAX_VALUE;
int matchedWidth = width;
int matchedHeight = height;
for (android.hardware.Camera.Size size : listCameraSize) {
- int diff = Math.abs(size.width - width)
- + Math.abs(size.height - height);
+ int diff = Math.abs(size.width - width) + Math.abs(size.height - height);
Log.d(TAG, "allocate: supported (%d, %d), diff=%d", size.width, size.height, diff);
// TODO(wjia): Remove this hack (forcing width to be multiple
// of 32) by supporting stride in video frame buffer.
@@ -156,14 +151,14 @@ public abstract class VideoCaptureCamera extends VideoCapture
if (parameters.isVideoStabilizationSupported()) {
Log.d(TAG, "Image stabilization supported, currently: "
- + parameters.getVideoStabilization() + ", setting it.");
+ + parameters.getVideoStabilization() + ", setting it.");
parameters.setVideoStabilization(true);
} else {
Log.d(TAG, "Image stabilization not supported.");
}
if (parameters.getSupportedFocusModes().contains(
- android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
+ android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
parameters.setFocusMode(android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
} else {
Log.d(TAG, "Continuous focus mode not supported.");
@@ -188,15 +183,15 @@ public abstract class VideoCaptureCamera extends VideoCapture
GLES20.glGenTextures(1, mGlTextures, 0);
GLES20.glBindTexture(GL_TEXTURE_EXTERNAL_OES, mGlTextures[0]);
// No mip-mapping with camera source.
- GLES20.glTexParameterf(GL_TEXTURE_EXTERNAL_OES,
- GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
- GLES20.glTexParameterf(GL_TEXTURE_EXTERNAL_OES,
- GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
+ GLES20.glTexParameterf(
+ GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR);
+ GLES20.glTexParameterf(
+ GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR);
// Clamp to edge is only option.
- GLES20.glTexParameteri(GL_TEXTURE_EXTERNAL_OES,
- GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE);
- GLES20.glTexParameteri(GL_TEXTURE_EXTERNAL_OES,
- GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE);
+ GLES20.glTexParameteri(
+ GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE);
+ GLES20.glTexParameteri(
+ GL_TEXTURE_EXTERNAL_OES, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE);
mSurfaceTexture = new SurfaceTexture(mGlTextures[0]);
mSurfaceTexture.setOnFrameAvailableListener(null);
@@ -282,10 +277,7 @@ public abstract class VideoCaptureCamera extends VideoCapture
// Local hook to allow derived classes to fill capture format and modify
// camera parameters as they see fit.
- abstract void setCaptureParameters(
- int width,
- int height,
- int frameRate,
+ abstract void setCaptureParameters(int width, int height, int frameRate,
android.hardware.Camera.Parameters cameraParameters);
// Local method to be overriden with the particular setPreviewCallback to be
diff --git a/media/base/android/java/src/org/chromium/media/VideoCaptureCamera2.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java
index 0c66ede..5851027 100644
--- a/media/base/android/java/src/org/chromium/media/VideoCaptureCamera2.java
+++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureCamera2.java
@@ -40,7 +40,6 @@ import java.util.List;
@JNINamespace("media")
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public class VideoCaptureCamera2 extends VideoCapture {
-
// Inner class to extend a CameraDevice state change listener.
private class CrStateListener extends CameraDevice.StateCallback {
@Override
@@ -49,8 +48,7 @@ public class VideoCaptureCamera2 extends VideoCapture {
changeCameraStateAndNotify(CameraState.CONFIGURING);
if (!createCaptureObjects()) {
changeCameraStateAndNotify(CameraState.STOPPED);
- nativeOnError(mNativeVideoCaptureDeviceAndroid,
- "Error configuring camera");
+ nativeOnError(mNativeVideoCaptureDeviceAndroid, "Error configuring camera");
}
}
@@ -67,7 +65,7 @@ public class VideoCaptureCamera2 extends VideoCapture {
mCameraDevice = null;
changeCameraStateAndNotify(CameraState.STOPPED);
nativeOnError(mNativeVideoCaptureDeviceAndroid,
- "Camera device error " + Integer.toString(error));
+ "Camera device error " + Integer.toString(error));
}
};
@@ -86,8 +84,7 @@ public class VideoCaptureCamera2 extends VideoCapture {
// TODO(mcasas): When signalling error, C++ will tear us down. Is there need for
// cleanup?
changeCameraStateAndNotify(CameraState.STOPPED);
- nativeOnError(mNativeVideoCaptureDeviceAndroid,
- "Camera session configuration error");
+ nativeOnError(mNativeVideoCaptureDeviceAndroid, "Camera session configuration error");
}
};
@@ -100,10 +97,9 @@ public class VideoCaptureCamera2 extends VideoCapture {
try {
image = reader.acquireLatestImage();
if (image == null) return;
- if (image.getFormat() != ImageFormat.YUV_420_888
- || image.getPlanes().length != 3) {
- Log.e(TAG, "Unexpected image format: %d or #planes: %d",
- image.getFormat(), image.getPlanes().length);
+ if (image.getFormat() != ImageFormat.YUV_420_888 || image.getPlanes().length != 3) {
+ Log.e(TAG, "Unexpected image format: %d or #planes: %d", image.getFormat(),
+ image.getPlanes().length);
return;
}
@@ -114,10 +110,8 @@ public class VideoCaptureCamera2 extends VideoCapture {
+ "x" + image.getHeight());
}
readImageIntoBuffer(image, mCapturedData);
- nativeOnFrameAvailable(mNativeVideoCaptureDeviceAndroid,
- mCapturedData,
- mCapturedData.length,
- getCameraRotation());
+ nativeOnFrameAvailable(mNativeVideoCaptureDeviceAndroid, mCapturedData,
+ mCapturedData.length, getCameraRotation());
} catch (IllegalStateException ex) {
Log.e(TAG, "acquireLatestImage():" + ex);
return;
@@ -139,7 +133,7 @@ public class VideoCaptureCamera2 extends VideoCapture {
private static final double kNanoSecondsToFps = 1.0E-9;
private static final String TAG = "cr.media";
- private static enum CameraState {OPENING, CONFIGURING, STARTED, STOPPED}
+ private static enum CameraState { OPENING, CONFIGURING, STARTED, STOPPED }
private CameraState mCameraState = CameraState.STOPPED;
private final Object mCameraStateLock = new Object();
@@ -163,15 +157,12 @@ public class VideoCaptureCamera2 extends VideoCapture {
// readback take place on its own thread.
final int maxImages = 2;
mImageReader = ImageReader.newInstance(mCaptureFormat.getWidth(),
- mCaptureFormat.getHeight(),
- mCaptureFormat.getPixelFormat(),
- maxImages);
+ mCaptureFormat.getHeight(), mCaptureFormat.getPixelFormat(), maxImages);
HandlerThread thread = new HandlerThread("CameraPreview");
thread.start();
final Handler backgroundHandler = new Handler(thread.getLooper());
final CrImageReaderListener imageReaderListener = new CrImageReaderListener();
- mImageReader.setOnImageAvailableListener(imageReaderListener,
- backgroundHandler);
+ mImageReader.setOnImageAvailableListener(imageReaderListener, backgroundHandler);
// The Preview template specifically means "high frame rate is given
// priority over the highest-quality post-processing".
@@ -195,13 +186,12 @@ public class VideoCaptureCamera2 extends VideoCapture {
mPreviewBuilder.addTarget(mImageReader.getSurface());
// A series of configuration options in the PreviewBuilder
- mPreviewBuilder.set(CaptureRequest.CONTROL_MODE,
- CameraMetadata.CONTROL_MODE_AUTO);
- mPreviewBuilder.set(CaptureRequest.NOISE_REDUCTION_MODE,
- CameraMetadata.NOISE_REDUCTION_MODE_FAST);
+ mPreviewBuilder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
+ mPreviewBuilder.set(
+ CaptureRequest.NOISE_REDUCTION_MODE, CameraMetadata.NOISE_REDUCTION_MODE_FAST);
mPreviewBuilder.set(CaptureRequest.EDGE_MODE, CameraMetadata.EDGE_MODE_FAST);
mPreviewBuilder.set(CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE,
- CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_ON);
+ CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_ON);
// SENSOR_EXPOSURE_TIME ?
List<Surface> surfaceList = new ArrayList<Surface>(1);
@@ -318,8 +308,8 @@ public class VideoCaptureCamera2 extends VideoCapture {
return CaptureApiType.API_TYPE_UNKNOWN;
}
- final int supportedHWLevel = cameraCharacteristics.get(
- CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
+ final int supportedHWLevel =
+ cameraCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
switch (supportedHWLevel) {
case CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY:
return CaptureApiType.API2_LEGACY;
@@ -346,8 +336,8 @@ public class VideoCaptureCamera2 extends VideoCapture {
getCameraCharacteristics(appContext, id);
if (cameraCharacteristics == null) return null;
- final int[] capabilities = cameraCharacteristics.get(
- CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
+ final int[] capabilities =
+ cameraCharacteristics.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
// Per-format frame rate via getOutputMinFrameDuration() is only available if the
// property REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR is set.
boolean minFrameDurationAvailable = false;
@@ -384,9 +374,7 @@ public class VideoCaptureCamera2 extends VideoCapture {
return formatList.toArray(new VideoCaptureFormat[formatList.size()]);
}
- VideoCaptureCamera2(Context context,
- int id,
- long nativeVideoCaptureDeviceAndroid) {
+ VideoCaptureCamera2(Context context, int id, long nativeVideoCaptureDeviceAndroid) {
super(context, id, nativeVideoCaptureDeviceAndroid);
}
@@ -435,7 +423,7 @@ public class VideoCaptureCamera2 extends VideoCapture {
// but NOT for N7 with a dev Build. Figure out which one to support.
mInvertDeviceOrientationReadings =
cameraCharacteristics.get(CameraCharacteristics.LENS_FACING)
- == CameraCharacteristics.LENS_FACING_BACK;
+ == CameraCharacteristics.LENS_FACING_BACK;
return true;
}
diff --git a/media/base/android/java/src/org/chromium/media/VideoCaptureFactory.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureFactory.java
index 7c70c9d..c88f9f7 100644
--- a/media/base/android/java/src/org/chromium/media/VideoCaptureFactory.java
+++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureFactory.java
@@ -25,14 +25,13 @@ import org.chromium.base.annotations.JNINamespace;
@JNINamespace("media")
@SuppressWarnings("deprecation")
class VideoCaptureFactory {
-
// Internal class to encapsulate camera device id manipulations.
static class ChromiumCameraInfo {
// Special devices have more cameras than usual. Those devices are
// identified by model & device. Currently only the Tango is supported.
// Note that these devices have no Camera.CameraInfo.
private static final String[][] SPECIAL_DEVICE_LIST = {
- {"Peanut", "peanut"},
+ {"Peanut", "peanut"},
};
private static int sNumberOfSystemCameras = -1;
private static final String TAG = "cr.media";
@@ -71,11 +70,10 @@ class VideoCaptureFactory {
!= PackageManager.PERMISSION_GRANTED) {
sNumberOfSystemCameras = 0;
Log.w(TAG, "Missing android.permission.CAMERA permission, "
- + "no system camera available.");
+ + "no system camera available.");
} else {
if (isLReleaseOrLater()) {
- sNumberOfSystemCameras =
- VideoCaptureCamera2.getNumberOfCameras(appContext);
+ sNumberOfSystemCameras = VideoCaptureCamera2.getNumberOfCameras(appContext);
} else {
sNumberOfSystemCameras = VideoCaptureAndroid.getNumberOfCameras();
if (isSpecialDevice()) {
@@ -98,18 +96,13 @@ class VideoCaptureFactory {
static VideoCapture createVideoCapture(
Context context, int id, long nativeVideoCaptureDeviceAndroid) {
if (isLReleaseOrLater() && !VideoCaptureCamera2.isLegacyDevice(context, id)) {
- return new VideoCaptureCamera2(context,
- id,
- nativeVideoCaptureDeviceAndroid);
+ return new VideoCaptureCamera2(context, id, nativeVideoCaptureDeviceAndroid);
}
if (!ChromiumCameraInfo.isSpecialCamera(id)) {
- return new VideoCaptureAndroid(context,
- id,
- nativeVideoCaptureDeviceAndroid);
+ return new VideoCaptureAndroid(context, id, nativeVideoCaptureDeviceAndroid);
}
- return new VideoCaptureTango(context,
- ChromiumCameraInfo.toSpecialCameraId(id),
- nativeVideoCaptureDeviceAndroid);
+ return new VideoCaptureTango(
+ context, ChromiumCameraInfo.toSpecialCameraId(id), nativeVideoCaptureDeviceAndroid);
}
@CalledByNative
@@ -122,8 +115,7 @@ class VideoCaptureFactory {
if (isLReleaseOrLater()) {
return VideoCaptureCamera2.getCaptureApiType(id, appContext);
} else if (ChromiumCameraInfo.isSpecialCamera(id)) {
- return VideoCaptureTango.getCaptureApiType(
- ChromiumCameraInfo.toSpecialCameraId(id));
+ return VideoCaptureTango.getCaptureApiType(ChromiumCameraInfo.toSpecialCameraId(id));
} else {
return VideoCaptureAndroid.getCaptureApiType(id);
}
@@ -146,7 +138,7 @@ class VideoCaptureFactory {
}
return ChromiumCameraInfo.isSpecialCamera(id)
? VideoCaptureTango.getDeviceSupportedFormats(
- ChromiumCameraInfo.toSpecialCameraId(id))
+ ChromiumCameraInfo.toSpecialCameraId(id))
: VideoCaptureAndroid.getDeviceSupportedFormats(id);
}
diff --git a/media/base/android/java/src/org/chromium/media/VideoCaptureFormat.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureFormat.java
index 6eb3f78..a875843 100644
--- a/media/base/android/java/src/org/chromium/media/VideoCaptureFormat.java
+++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureFormat.java
@@ -10,8 +10,7 @@ class VideoCaptureFormat {
final int mFramerate;
final int mPixelFormat;
- public VideoCaptureFormat(
- int width, int height, int framerate, int pixelformat) {
+ public VideoCaptureFormat(int width, int height, int framerate, int pixelformat) {
mWidth = width;
mHeight = height;
mFramerate = framerate;
diff --git a/media/base/android/java/src/org/chromium/media/VideoCaptureTango.java b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureTango.java
index c85cf0f..b48539e 100644
--- a/media/base/android/java/src/org/chromium/media/VideoCaptureTango.java
+++ b/media/capture/video/android/java/src/org/chromium/media/VideoCaptureTango.java
@@ -22,7 +22,6 @@ import java.util.Arrays;
**/
@SuppressWarnings("deprecation")
public class VideoCaptureTango extends VideoCaptureCamera {
-
private static class CamParams {
final int mId;
final String mName;
@@ -46,7 +45,7 @@ public class VideoCaptureTango extends VideoCaptureCamera {
private static final CamParams CAM_PARAMS[] = {
new CamParams(DEPTH_CAMERA_ID, "depth", 320, 240),
new CamParams(FISHEYE_CAMERA_ID, "fisheye", 640, 480),
- new CamParams(FOURMP_CAMERA_ID, "4MP", 1280, 720) };
+ new CamParams(FOURMP_CAMERA_ID, "4MP", 1280, 720)};
// SuperFrame size definitions. Note that total size is the amount of lines
// multiplied by 3/2 due to Chroma components following.
@@ -55,9 +54,9 @@ public class VideoCaptureTango extends VideoCaptureCamera {
private static final int SF_FULL_HEIGHT = SF_HEIGHT * 3 / 2;
private static final int SF_LINES_HEADER = 16;
private static final int SF_LINES_FISHEYE = 240;
- private static final int SF_LINES_RESERVED = 80; // Spec says 96.
+ private static final int SF_LINES_RESERVED = 80; // Spec says 96.
private static final int SF_LINES_DEPTH = 60;
- private static final int SF_LINES_DEPTH_PADDED = 112; // Spec says 96.
+ private static final int SF_LINES_DEPTH_PADDED = 112; // Spec says 96.
private static final int SF_LINES_BIGIMAGE = 720;
private static final int SF_OFFSET_4MP_CHROMA = 112;
@@ -92,24 +91,17 @@ public class VideoCaptureTango extends VideoCaptureCamera {
return formatList.toArray(new VideoCaptureFormat[formatList.size()]);
}
- VideoCaptureTango(Context context,
- int id,
- long nativeVideoCaptureDeviceAndroid) {
+ VideoCaptureTango(Context context, int id, long nativeVideoCaptureDeviceAndroid) {
// All Tango cameras are like the back facing one for the generic VideoCapture code.
super(context, 0, nativeVideoCaptureDeviceAndroid);
mTangoCameraId = id;
}
@Override
- protected void setCaptureParameters(
- int width,
- int height,
- int frameRate,
+ protected void setCaptureParameters(int width, int height, int frameRate,
android.hardware.Camera.Parameters cameraParameters) {
mCaptureFormat = new VideoCaptureFormat(CAM_PARAMS[mTangoCameraId].mWidth,
- CAM_PARAMS[mTangoCameraId].mHeight,
- frameRate,
- ImageFormat.YV12);
+ CAM_PARAMS[mTangoCameraId].mHeight, frameRate, ImageFormat.YV12);
// Connect Tango SuperFrame mode. Available sf modes are "all",
// "big-rgb", "small-rgb", "depth", "ir".
cameraParameters.set("sf-mode", "all");
@@ -117,8 +109,8 @@ public class VideoCaptureTango extends VideoCaptureCamera {
@Override
protected void allocateBuffers() {
- mFrameBuffer = ByteBuffer.allocateDirect(
- mCaptureFormat.mWidth * mCaptureFormat.mHeight * 3 / 2);
+ mFrameBuffer =
+ ByteBuffer.allocateDirect(mCaptureFormat.mWidth * mCaptureFormat.mHeight * 3 / 2);
// Prefill Chroma to their zero-equivalent for the cameras that only
// provide Luma component.
Arrays.fill(mFrameBuffer.array(), CHROMA_ZERO_LEVEL);
@@ -160,8 +152,8 @@ public class VideoCaptureTango extends VideoCaptureCamera {
// them explicitly since they're filled to 128 on creation.
ByteBuffer.wrap(data, startY, sizeY).get(mFrameBuffer.array(), 0, sizeY);
} else if (mTangoCameraId == FOURMP_CAMERA_ID) {
- int startY = SF_WIDTH * (SF_LINES_HEADER + SF_LINES_FISHEYE
- + SF_LINES_RESERVED + SF_LINES_DEPTH_PADDED);
+ int startY = SF_WIDTH * (SF_LINES_HEADER + SF_LINES_FISHEYE + SF_LINES_RESERVED
+ + SF_LINES_DEPTH_PADDED);
int sizeY = SF_WIDTH * SF_LINES_BIGIMAGE;
// The spec is completely inaccurate on the location, sizes
@@ -174,21 +166,17 @@ public class VideoCaptureTango extends VideoCaptureCamera {
// Equivalent to the following |for| loop but much faster:
// for (int i = START; i < START + SIZE; ++i)
// mFrameBuffer.put(data[i]);
- ByteBuffer.wrap(data, startY, sizeY)
- .get(mFrameBuffer.array(), 0, sizeY);
- ByteBuffer.wrap(data, startU, sizeU)
- .get(mFrameBuffer.array(), sizeY, sizeU);
+ ByteBuffer.wrap(data, startY, sizeY).get(mFrameBuffer.array(), 0, sizeY);
+ ByteBuffer.wrap(data, startU, sizeU).get(mFrameBuffer.array(), sizeY, sizeU);
ByteBuffer.wrap(data, startV, sizeV)
- .get(mFrameBuffer.array(), sizeY + sizeU, sizeV);
+ .get(mFrameBuffer.array(), sizeY + sizeU, sizeV);
} else {
Log.e(TAG, "Unknown camera, #id: %d", mTangoCameraId);
return;
}
- mFrameBuffer.rewind(); // Important!
- nativeOnFrameAvailable(mNativeVideoCaptureDeviceAndroid,
- mFrameBuffer.array(),
- mFrameBuffer.capacity(),
- getCameraRotation());
+ mFrameBuffer.rewind(); // Important!
+ nativeOnFrameAvailable(mNativeVideoCaptureDeviceAndroid, mFrameBuffer.array(),
+ mFrameBuffer.capacity(), getCameraRotation());
}
} finally {
mPreviewBufferLock.unlock();
diff --git a/media/media.gyp b/media/media.gyp
index 638f9e8..79f97b4 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -1866,8 +1866,8 @@
'target_name': 'video_capture_android_jni_headers',
'type': 'none',
'sources': [
- 'base/android/java/src/org/chromium/media/VideoCapture.java',
- 'base/android/java/src/org/chromium/media/VideoCaptureFactory.java',
+ 'capture/video/android/java/src/org/chromium/media/VideoCapture.java',
+ 'capture/video/android/java/src/org/chromium/media/VideoCaptureFactory.java',
],
'variables': {
'jni_gen_package': 'media',
@@ -1972,7 +1972,7 @@
'../base/base.gyp:base',
],
'variables': {
- 'java_in_dir': 'base/android/java',
+ 'java_in_dir': 'capture/video/android/java',
},
'includes': ['../build/java.gypi'],
},