summaryrefslogtreecommitdiffstats
path: root/chromecast/renderer/media
diff options
context:
space:
mode:
authorgunsch <gunsch@chromium.org>2015-03-04 09:21:06 -0800
committerCommit bot <commit-bot@chromium.org>2015-03-04 17:21:57 +0000
commit7ee951aad36bcd3d9cb5c1ef5ce504822a53073e (patch)
treea3f9dcb3a2e5caf3a6a713e44c1b2a5c015dcc2b /chromecast/renderer/media
parent090c49d7c2001d5279218ecdc6c046cb78cf7c51 (diff)
downloadchromium_src-7ee951aad36bcd3d9cb5c1ef5ce504822a53073e.zip
chromium_src-7ee951aad36bcd3d9cb5c1ef5ce504822a53073e.tar.gz
chromium_src-7ee951aad36bcd3d9cb5c1ef5ce504822a53073e.tar.bz2
Chromecast: communicate HDMI-sink codec changes over IPC.
R=lcwu@chromium.org,servolk@chromium.org,tsepez@chromium.org BUG= Review URL: https://codereview.chromium.org/971913002 Cr-Commit-Position: refs/heads/master@{#319078}
Diffstat (limited to 'chromecast/renderer/media')
-rw-r--r--chromecast/renderer/media/capabilities_message_filter.cc32
-rw-r--r--chromecast/renderer/media/capabilities_message_filter.h29
2 files changed, 61 insertions, 0 deletions
diff --git a/chromecast/renderer/media/capabilities_message_filter.cc b/chromecast/renderer/media/capabilities_message_filter.cc
new file mode 100644
index 0000000..fb10972
--- /dev/null
+++ b/chromecast/renderer/media/capabilities_message_filter.cc
@@ -0,0 +1,32 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chromecast/renderer/media/capabilities_message_filter.h"
+
+#include "chromecast/common/media/cast_messages.h"
+#include "chromecast/media/base/media_caps.h"
+
+namespace chromecast {
+
+CapabilitiesMessageFilter::CapabilitiesMessageFilter() {
+}
+
+CapabilitiesMessageFilter::~CapabilitiesMessageFilter() {
+}
+
+bool CapabilitiesMessageFilter::OnMessageReceived(const IPC::Message& message) {
+ bool handled = true;
+ IPC_BEGIN_MESSAGE_MAP(CapabilitiesMessageFilter, message)
+ IPC_MESSAGE_HANDLER(CmaMsg_UpdateSupportedHdmiSinkCodecs,
+ OnUpdateSupportedHdmiSinkCodecs)
+ IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_END_MESSAGE_MAP()
+ return handled;
+}
+
+void CapabilitiesMessageFilter::OnUpdateSupportedHdmiSinkCodecs(int codecs) {
+ ::media::SetHdmiSinkCodecs(codecs);
+}
+
+} // namespace chromecast
diff --git a/chromecast/renderer/media/capabilities_message_filter.h b/chromecast/renderer/media/capabilities_message_filter.h
new file mode 100644
index 0000000..6c9c1de
--- /dev/null
+++ b/chromecast/renderer/media/capabilities_message_filter.h
@@ -0,0 +1,29 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROMECAST_RENDERER_MEDIA_CAPABILITIES_MESSAGE_FILTER_H_
+#define CHROMECAST_RENDERER_MEDIA_CAPABILITIES_MESSAGE_FILTER_H_
+
+#include "ipc/message_filter.h"
+
+namespace chromecast {
+
+class CapabilitiesMessageFilter : public IPC::MessageFilter {
+ public:
+ CapabilitiesMessageFilter();
+
+ // IPC::ChannelProxy::MessageFilter implementation:
+ bool OnMessageReceived(const IPC::Message& message) override;
+
+ private:
+ ~CapabilitiesMessageFilter() override;
+
+ void OnUpdateSupportedHdmiSinkCodecs(int codecs);
+
+ DISALLOW_COPY_AND_ASSIGN(CapabilitiesMessageFilter);
+};
+
+} // namespace chromecast
+
+#endif // CHROMECAST_RENDERER_MEDIA_CAPABILITIES_MESSAGE_FILTER_H_