diff options
author | vrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-18 19:52:08 +0000 |
---|---|---|
committer | vrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-18 19:52:08 +0000 |
commit | 7b268b7a549561344b59da31d58cbe3c6ca71dd8 (patch) | |
tree | b93d5a298c4e40b896026ed02a28efb999701d35 /media/filters | |
parent | 49d633905b2467796aa6a4794f64001664358334 (diff) | |
download | chromium_src-7b268b7a549561344b59da31d58cbe3c6ca71dd8.zip chromium_src-7b268b7a549561344b59da31d58cbe3c6ca71dd8.tar.gz chromium_src-7b268b7a549561344b59da31d58cbe3c6ca71dd8.tar.bz2 |
Fire canplaythrough event at the proper time for audio/video
In this CL, the browser fires the canplaythrough event based on an
approximation of the download speed of the media instead of firing the
event right away.
BUG=73609
TEST=NONE
Review URL: http://codereview.chromium.org/8399023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110733 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/filters')
-rw-r--r-- | media/filters/chunk_demuxer.cc | 5 | ||||
-rw-r--r-- | media/filters/chunk_demuxer.h | 1 | ||||
-rw-r--r-- | media/filters/dummy_demuxer.cc | 4 | ||||
-rw-r--r-- | media/filters/dummy_demuxer.h | 1 | ||||
-rw-r--r-- | media/filters/ffmpeg_demuxer.h | 5 |
5 files changed, 12 insertions, 4 deletions
diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc index 0df22a5..c27c490 100644 --- a/media/filters/chunk_demuxer.cc +++ b/media/filters/chunk_demuxer.cc @@ -364,6 +364,11 @@ void ChunkDemuxer::OnAudioRendererDisabled() { void ChunkDemuxer::SetPreload(Preload preload) {} +int ChunkDemuxer::GetBitrate() { + // TODO(acolwell): Implement bitrate reporting. + return 0; +} + // Demuxer implementation. scoped_refptr<DemuxerStream> ChunkDemuxer::GetStream( DemuxerStream::Type type) { diff --git a/media/filters/chunk_demuxer.h b/media/filters/chunk_demuxer.h index 63dd7b1..a940100 100644 --- a/media/filters/chunk_demuxer.h +++ b/media/filters/chunk_demuxer.h @@ -38,6 +38,7 @@ class MEDIA_EXPORT ChunkDemuxer : public Demuxer { DemuxerStream::Type type) OVERRIDE; virtual void SetPreload(Preload preload) OVERRIDE; virtual base::TimeDelta GetStartTime() const OVERRIDE; + virtual int GetBitrate() OVERRIDE; // Methods used by an external object to control this demuxer. void FlushData(); diff --git a/media/filters/dummy_demuxer.cc b/media/filters/dummy_demuxer.cc index 24307b9..095ffee 100644 --- a/media/filters/dummy_demuxer.cc +++ b/media/filters/dummy_demuxer.cc @@ -48,6 +48,10 @@ DummyDemuxer::~DummyDemuxer() {} void DummyDemuxer::SetPreload(Preload preload) {} +int DummyDemuxer::GetBitrate() { + return 0; +} + scoped_refptr<DemuxerStream> DummyDemuxer::GetStream(DemuxerStream::Type type) { return streams_[type]; } diff --git a/media/filters/dummy_demuxer.h b/media/filters/dummy_demuxer.h index b029aa5..309dded 100644 --- a/media/filters/dummy_demuxer.h +++ b/media/filters/dummy_demuxer.h @@ -48,6 +48,7 @@ class DummyDemuxer : public Demuxer { DemuxerStream::Type type) OVERRIDE; virtual void SetPreload(Preload preload) OVERRIDE; virtual base::TimeDelta GetStartTime() const OVERRIDE; + virtual int GetBitrate() OVERRIDE; private: bool has_video_; diff --git a/media/filters/ffmpeg_demuxer.h b/media/filters/ffmpeg_demuxer.h index ddfe51e..0cff00f 100644 --- a/media/filters/ffmpeg_demuxer.h +++ b/media/filters/ffmpeg_demuxer.h @@ -147,6 +147,7 @@ class MEDIA_EXPORT FFmpegDemuxer : public Demuxer, public FFmpegURLProtocol { DemuxerStream::Type type) OVERRIDE; virtual void SetPreload(Preload preload) OVERRIDE; virtual base::TimeDelta GetStartTime() const OVERRIDE; + virtual int GetBitrate() OVERRIDE; // FFmpegURLProtocol implementation. virtual size_t Read(size_t size, uint8* data) OVERRIDE; @@ -161,10 +162,6 @@ class MEDIA_EXPORT FFmpegDemuxer : public Demuxer, public FFmpegURLProtocol { // For testing purposes. void disable_first_seek_hack_for_testing() { first_seek_hack_ = false; } - // Returns the bitrate of media file. May be obtained from container or - // approximated. Returns 0 if it is unknown. - int GetBitrate(); - private: // Only allow a factory to create this class. friend class MockFFmpegDemuxer; |