diff --git a/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureAndroid.java b/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureAndroid.java index 70d69d0f97..5cdf37f9ea 100644 --- a/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureAndroid.java +++ b/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureAndroid.java @@ -108,7 +108,12 @@ public class VideoCaptureAndroid implements PreviewCallback, Callback { currentCapability.height); parameters.setPreviewFormat(PIXEL_FORMAT); parameters.setPreviewFrameRate(currentCapability.maxFPS); - camera.setParameters(parameters); + try { + camera.setParameters(parameters); + } catch (RuntimeException e) { + Log.e(TAG, "setParameters failed", e); + return -1; + } int bufSize = width * height * pixelFormat.bitsPerPixel / 8; byte[] buffer = null; diff --git a/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java b/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java index af227cd95c..d1a744f46b 100644 --- a/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java +++ b/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java @@ -129,9 +129,11 @@ public class VideoCaptureDeviceInfoAndroid { List sizes = parameters.getSupportedPreviewSizes(); List frameRates = parameters.getSupportedPreviewFrameRates(); int maxFPS = 0; - for(Integer frameRate:frameRates) { - if(frameRate > maxFPS) { - maxFPS = frameRate; + if (frameRates != null) { + for(Integer frameRate:frameRates) { + if(frameRate > maxFPS) { + maxFPS = frameRate; + } } } diff --git a/webrtc/video_engine/test/android/android_video_demo.gypi b/webrtc/video_engine/test/android/android_video_demo.gypi index f566e4df9d..866ea82bd6 100644 --- a/webrtc/video_engine/test/android/android_video_demo.gypi +++ b/webrtc/video_engine/test/android/android_video_demo.gypi @@ -21,7 +21,19 @@ # TODO(leozwang): Convert building of the demo to a proper GYP target # so this action and the custom build script is not needed. 'action_name': 'build_video_demo_apk', - 'inputs' : [], + 'inputs' : [ + '<(webrtc_root)/modules/audio_device/android/org/webrtc/voiceengine/WebRTCAudioDevice.java', + '<(webrtc_root)/modules/video_capture/android/java/org/webrtc/videoengine/CaptureCapabilityAndroid.java', + '<(webrtc_root)/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureAndroid.java', + '<(webrtc_root)/modules/video_capture/android/java/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java', + '<(webrtc_root)/modules/video_render/android/java/org/webrtc/videoengine/ViEAndroidGLES20.java', + '<(webrtc_root)/modules/video_render/android/java/org/webrtc/videoengine/ViERenderer.java', + '<(webrtc_root)/modules/video_render/android/java/org/webrtc/videoengine/ViESurfaceRenderer.java', + '<(webrtc_root)/video_engine/test/android/src/org/webrtc/videoengine/ViEMediaCodecDecoder.java', + '<(webrtc_root)/video_engine/test/android/src/org/webrtc/videoengineapp/IViEAndroidCallback.java', + '<(webrtc_root)/video_engine/test/android/src/org/webrtc/videoengineapp/ViEAndroidJavaAPI.java', + '<(webrtc_root)/video_engine/test/android/src/org/webrtc/videoengineapp/WebRTCDemo.java', + ], 'outputs': ['<(webrtc_root)'], 'action': ['python', '<(webrtc_root)/video_engine/test/android/build_demo.py',