Index: media/formats/mp4/mp4_stream_parser.cc |
diff --git a/media/formats/mp4/mp4_stream_parser.cc b/media/formats/mp4/mp4_stream_parser.cc |
index ee88ea14ef1142e21a3594f33ccc36275db78b85..94fb0680e1cd3aa5bf8b05aa873dc1de8e3a11fb 100644 |
--- a/media/formats/mp4/mp4_stream_parser.cc |
+++ b/media/formats/mp4/mp4_stream_parser.cc |
@@ -54,7 +54,7 @@ void MP4StreamParser::Init( |
bool /* ignore_text_tracks */, |
const EncryptedMediaInitDataCB& encrypted_media_init_data_cb, |
const NewMediaSegmentCB& new_segment_cb, |
- const base::Closure& end_of_segment_cb, |
+ const EndMediaSegmentCB& end_of_segment_cb, |
const scoped_refptr<MediaLog>& media_log) { |
DCHECK_EQ(state_, kWaitingForInit); |
DCHECK(init_cb_.is_null()); |
@@ -426,7 +426,10 @@ bool MP4StreamParser::EnqueueSample(BufferQueue* audio_buffers, |
return false; |
ChangeState(kParsingBoxes); |
- end_of_segment_cb_.Run(); |
+ *err = !end_of_segment_cb_.Run(); |
+ if (*err) |
+ return false; |
+ |
return true; |
} |