| Index: media/filters/ffmpeg_demuxer.cc
|
| diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
|
| index cb6494a54af8a732ef02eac800163b74982f2b4e..35c2d383d7c9ee72068e963e5da865dcc0bb8446 100644
|
| --- a/media/filters/ffmpeg_demuxer.cc
|
| +++ b/media/filters/ffmpeg_demuxer.cc
|
| @@ -237,7 +237,7 @@ base::TimeDelta FFmpegDemuxerStream::GetElapsedTime() const {
|
| return ConvertStreamTimestamp(stream_->time_base, stream_->cur_dts);
|
| }
|
|
|
| -Ranges<base::TimeDelta> FFmpegDemuxerStream::GetBufferedRanges() {
|
| +Ranges<base::TimeDelta> FFmpegDemuxerStream::GetBufferedRanges() const {
|
| base::AutoLock auto_lock(lock_);
|
| return buffered_ranges_;
|
| }
|
| @@ -323,7 +323,12 @@ void FFmpegDemuxer::Initialize(DemuxerHost* host,
|
|
|
| scoped_refptr<DemuxerStream> FFmpegDemuxer::GetStream(
|
| DemuxerStream::Type type) {
|
| - StreamVector::iterator iter;
|
| + return GetFFmpegStream(type);
|
| +}
|
| +
|
| +scoped_refptr<FFmpegDemuxerStream> FFmpegDemuxer::GetFFmpegStream(
|
| + DemuxerStream::Type type) const {
|
| + StreamVector::const_iterator iter;
|
| for (iter = streams_.begin(); iter != streams_.end(); ++iter) {
|
| if (*iter && (*iter)->type() == type) {
|
| return *iter;
|
| @@ -717,9 +722,10 @@ void FFmpegDemuxer::SignalReadCompleted(int size) {
|
| void FFmpegDemuxer::NotifyBufferingChanged() {
|
| DCHECK_EQ(MessageLoop::current(), message_loop_);
|
| Ranges<base::TimeDelta> buffered;
|
| - scoped_refptr<DemuxerStream> audio =
|
| - audio_disabled_ ? NULL : GetStream(DemuxerStream::AUDIO);
|
| - scoped_refptr<DemuxerStream> video = GetStream(DemuxerStream::VIDEO);
|
| + scoped_refptr<FFmpegDemuxerStream> audio =
|
| + audio_disabled_ ? NULL : GetFFmpegStream(DemuxerStream::AUDIO);
|
| + scoped_refptr<FFmpegDemuxerStream> video =
|
| + GetFFmpegStream(DemuxerStream::VIDEO);
|
| if (audio && video) {
|
| buffered = audio->GetBufferedRanges().IntersectionWith(
|
| video->GetBufferedRanges());
|
|
|