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

Unified Diff: media/base/android/media_codec_decoder.cc

Issue 1963343002: Report media error if PlayOutputBuffer failed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed Min's comment Created 4 years, 7 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 | « media/base/android/media_codec_decoder.h ('k') | media/base/android/media_decoder_job.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/android/media_codec_decoder.cc
diff --git a/media/base/android/media_codec_decoder.cc b/media/base/android/media_codec_decoder.cc
index 89caef42036a3a967613c655c7fd3884bdf5f6a8..a89beceb91c9800560d5d96569ed28da45ded6f7 100644
--- a/media/base/android/media_codec_decoder.cc
+++ b/media/base/android/media_codec_decoder.cc
@@ -893,10 +893,11 @@ bool MediaCodecDecoder::DepleteOutputBufferQueue() {
DVLOG(2) << class_name() << "::" << __FUNCTION__
<< " MEDIA_CODEC_OUTPUT_FORMAT_CHANGED";
if (!OnOutputFormatChanged()) {
- DVLOG(0) << class_name() << "::" << __FUNCTION__
- << ": OnOutputFormatChanged failed";
- status = MEDIA_CODEC_ERROR;
+ DVLOG(1) << class_name() << "::" << __FUNCTION__
+ << ": OnOutputFormatChanged failed, stopping frame"
+ << " processing";
media_task_runner_->PostTask(FROM_HERE, internal_error_cb_);
+ return false;
}
break;
@@ -912,7 +913,13 @@ bool MediaCodecDecoder::DepleteOutputBufferQueue() {
else
render_mode = kRenderNow;
- Render(buffer_index, offset, size, render_mode, pts, eos_encountered);
+ if (!Render(buffer_index, offset, size, render_mode, pts,
+ eos_encountered)) {
+ DVLOG(1) << class_name() << "::" << __FUNCTION__
+ << " Render failed, stopping frame processing";
+ media_task_runner_->PostTask(FROM_HERE, internal_error_cb_);
+ return false;
+ }
if (render_mode == kRenderAfterPreroll) {
DVLOG(1) << class_name() << "::" << __FUNCTION__ << " pts " << pts
« no previous file with comments | « media/base/android/media_codec_decoder.h ('k') | media/base/android/media_decoder_job.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698