| Index: media/filters/ffmpeg_demuxer.cc
|
| diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
|
| index 5912e8308d041ce2465ae08081e7030dd2b45b9b..abb8b73214bca30063b61dfba637f8a88abbf296 100644
|
| --- a/media/filters/ffmpeg_demuxer.cc
|
| +++ b/media/filters/ffmpeg_demuxer.cc
|
| @@ -238,7 +238,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_;
|
| }
|
| @@ -324,7 +324,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;
|
| @@ -718,9 +723,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());
|
|
|