summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--media/base/pipeline_impl.cc5
-rw-r--r--webkit/glue/webmediaplayer_impl.cc6
-rw-r--r--webkit/glue/webmediaplayer_impl.h1
3 files changed, 12 insertions, 0 deletions
diff --git a/media/base/pipeline_impl.cc b/media/base/pipeline_impl.cc
index b9ac047..61f6344 100644
--- a/media/base/pipeline_impl.cc
+++ b/media/base/pipeline_impl.cc
@@ -688,6 +688,11 @@ void PipelineImpl::NotifyEndedTask() {
void PipelineImpl::BroadcastMessageTask(FilterMessage message) {
DCHECK_EQ(MessageLoop::current(), message_loop_);
+ // TODO(kylep): This is a horribly ugly hack, but we have no better way to log
+ // that audio is not and will not be working.
+ if (message == media::kMsgDisableAudio)
+ rendered_mime_types_.erase(mime_type::kMajorTypeAudio);
+
// Broadcast the message to all filters.
for (FilterVector::iterator iter = filters_.begin();
iter != filters_.end();
diff --git a/webkit/glue/webmediaplayer_impl.cc b/webkit/glue/webmediaplayer_impl.cc
index bc56f56..5df50d4 100644
--- a/webkit/glue/webmediaplayer_impl.cc
+++ b/webkit/glue/webmediaplayer_impl.cc
@@ -334,6 +334,12 @@ bool WebMediaPlayerImpl::hasVideo() const {
return pipeline_->IsRendered(media::mime_type::kMajorTypeVideo);
}
+bool WebMediaPlayerImpl::hasAudio() const {
+ DCHECK(MessageLoop::current() == main_loop_);
+
+ return pipeline_->IsRendered(media::mime_type::kMajorTypeAudio);
+}
+
WebKit::WebSize WebMediaPlayerImpl::naturalSize() const {
DCHECK(MessageLoop::current() == main_loop_);
diff --git a/webkit/glue/webmediaplayer_impl.h b/webkit/glue/webmediaplayer_impl.h
index da1b142..bd4a6e8 100644
--- a/webkit/glue/webmediaplayer_impl.h
+++ b/webkit/glue/webmediaplayer_impl.h
@@ -183,6 +183,7 @@ class WebMediaPlayerImpl : public WebKit::WebMediaPlayer,
// True if a video is loaded.
virtual bool hasVideo() const;
+ virtual bool hasAudio() const;
// Dimensions of the video.
virtual WebKit::WebSize naturalSize() const;