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

Unified Diff: media/filters/ffmpeg_demuxer.cc

Issue 160005: Implemented proper pause-then-seek behaviour for the media pipeline. (Closed)
Patch Set: yay Created 11 years, 5 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/filters/decoder_base.h ('k') | media/filters/ffmpeg_video_decoder.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/ffmpeg_demuxer.cc
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
index 60c6fcd945f444202f30042ffe05f32a938015eb..c3b2d62ec0b94a04c7e5d224e1f4f444d327d95a 100644
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
@@ -139,6 +139,7 @@ base::TimeDelta FFmpegDemuxerStream::EnqueuePacket(AVPacket* packet) {
void FFmpegDemuxerStream::FlushBuffers() {
DCHECK_EQ(MessageLoop::current(), demuxer_->message_loop());
+ DCHECK(read_queue_.empty()) << "Read requests should be empty";
buffer_queue_.clear();
discontinuous_ = true;
}
@@ -430,8 +431,10 @@ void FFmpegDemuxer::SeekTask(base::TimeDelta time, FilterCallback* callback) {
flags |= AVSEEK_FLAG_BACKWARD;
}
- if (av_seek_frame(format_context_, -1, time.InMicroseconds(),
- flags) < 0) {
+ // Passing -1 as our stream index lets FFmpeg pick a default stream. FFmpeg
+ // will attempt to use the lowest-index video stream, if present, followed by
+ // the lowest-index audio stream.
+ if (av_seek_frame(format_context_, -1, time.InMicroseconds(), flags) < 0) {
// TODO(scherkus): signal error.
NOTIMPLEMENTED();
}
« no previous file with comments | « media/filters/decoder_base.h ('k') | media/filters/ffmpeg_video_decoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698