diff options
author | rtoy <rtoy@chromium.org> | 2015-08-05 08:25:05 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-05 15:26:18 +0000 |
commit | e5c6af0507d41b3a73fa12dcd42c18855c7cc36b (patch) | |
tree | d41a9aa07fdf169c4d315b1f2b620a71a38572b4 | |
parent | 7dbd379a28368397697b9745133fc0e412a05c66 (diff) | |
download | chromium_src-e5c6af0507d41b3a73fa12dcd42c18855c7cc36b.zip chromium_src-e5c6af0507d41b3a73fa12dcd42c18855c7cc36b.tar.gz chromium_src-e5c6af0507d41b3a73fa12dcd42c18855c7cc36b.tar.bz2 |
Catch exceptions from MediaExtractor.readSampleData
MediaExtractor.readSampleData can cause exceptions. Catch them and
return, indicating that decoding failed.
BUG=514896
TEST=run the test from the bug report.
Review URL: https://codereview.chromium.org/1271013003
Cr-Commit-Position: refs/heads/master@{#341899}
-rw-r--r-- | media/base/android/java/src/org/chromium/media/WebAudioMediaCodecBridge.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/media/base/android/java/src/org/chromium/media/WebAudioMediaCodecBridge.java b/media/base/android/java/src/org/chromium/media/WebAudioMediaCodecBridge.java index a40ba7f..abc394c 100644 --- a/media/base/android/java/src/org/chromium/media/WebAudioMediaCodecBridge.java +++ b/media/base/android/java/src/org/chromium/media/WebAudioMediaCodecBridge.java @@ -181,7 +181,16 @@ class WebAudioMediaCodecBridge { if (inputBufIndex >= 0) { ByteBuffer dstBuf = codecInputBuffers[inputBufIndex]; - int sampleSize = extractor.readSampleData(dstBuf, 0); + int sampleSize; + + try { + sampleSize = extractor.readSampleData(dstBuf, 0); + } catch (Exception e) { + Log.w(TAG, "readSampleData failed."); + decodedSuccessfully = false; + break; + } + long presentationTimeMicroSec = 0; if (sampleSize < 0) { |