summaryrefslogtreecommitdiffstats
path: root/media/filters
diff options
context:
space:
mode:
authorvrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-18 19:52:08 +0000
committervrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-18 19:52:08 +0000
commit7b268b7a549561344b59da31d58cbe3c6ca71dd8 (patch)
treeb93d5a298c4e40b896026ed02a28efb999701d35 /media/filters
parent49d633905b2467796aa6a4794f64001664358334 (diff)
downloadchromium_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.cc5
-rw-r--r--media/filters/chunk_demuxer.h1
-rw-r--r--media/filters/dummy_demuxer.cc4
-rw-r--r--media/filters/dummy_demuxer.h1
-rw-r--r--media/filters/ffmpeg_demuxer.h5
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;