Chromium Code Reviews| Index: media/base/android/java/src/org/chromium/media/MediaCodecBridge.java |
| diff --git a/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java b/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java |
| index ecc90018c2082a81a8690e084c629be3028ee3b7..089581cea862eabc44ac432ae0901d5fb7be156b 100644 |
| --- a/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java |
| +++ b/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java |
| @@ -296,13 +296,23 @@ class MediaCodecBridge { |
| @CalledByNative |
| private void stop() { |
| - mMediaCodec.stop(); |
| + try { |
| + mMediaCodec.stop(); |
| + } catch (IllegalStateException e) { |
| + Log.e(TAG, "Failed to stop MediaCodec", e); |
| + } |
|
watk
2016/10/28 21:49:56
Should we be returning MEDIA_CODEC_ERROR like for
braveyao
2016/10/28 22:12:57
'stop()' will be only called in AndroidVideoEncode
watk
2016/10/28 22:17:57
ok, sg for stop().
|
| } |
| @TargetApi(Build.VERSION_CODES.KITKAT) |
| @CalledByNative |
| private String getName() { |
| - return mMediaCodec.getName(); |
| + String codecName = "unknown"; |
| + try { |
| + codecName = mMediaCodec.getName(); |
| + } catch (IllegalStateException e) { |
| + Log.e(TAG, "Cannot get codec name", e); |
| + } |
| + return codecName; |
| } |
| @CalledByNative |
| @@ -370,7 +380,11 @@ class MediaCodecBridge { |
| Bundle b = new Bundle(); |
| b.putInt(MediaCodec.PARAMETER_KEY_VIDEO_BITRATE, targetBps); |
| - mMediaCodec.setParameters(b); |
| + try { |
| + mMediaCodec.setParameters(b); |
| + } catch (IllegalStateException e) { |
| + Log.e(TAG, "Failed to set MediaCodec parameters", e); |
|
watk
2016/10/28 22:17:57
I feel like this should return an error? If the co
braveyao
2016/10/28 22:34:43
Yes these two are tricky. Personally I feel it's O
watk
2016/10/28 22:37:39
Sure, I defer to your judgement on these ones. I'm
|
| + } |
| Log.v(TAG, |
| "setVideoBitrate: input " + bps + "bps@" + frameRate + ", targetBps " + targetBps); |
| } |
| @@ -380,7 +394,11 @@ class MediaCodecBridge { |
| private void requestKeyFrameSoon() { |
| Bundle b = new Bundle(); |
| b.putInt(MediaCodec.PARAMETER_KEY_REQUEST_SYNC_FRAME, 0); |
| - mMediaCodec.setParameters(b); |
| + try { |
| + mMediaCodec.setParameters(b); |
| + } catch (IllegalStateException e) { |
| + Log.e(TAG, "Failed to set MediaCodec parameters", e); |
|
watk
2016/10/28 22:17:57
I feel like this should return an error too.
braveyao
2016/10/28 22:34:43
ditto
|
| + } |
| } |
| @CalledByNative |