| 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();
|
| }
|
|
|