diff options
author | gunsch <gunsch@chromium.org> | 2015-03-04 09:21:06 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-04 17:21:57 +0000 |
commit | 7ee951aad36bcd3d9cb5c1ef5ce504822a53073e (patch) | |
tree | a3f9dcb3a2e5caf3a6a713e44c1b2a5c015dcc2b /chromecast/renderer/media | |
parent | 090c49d7c2001d5279218ecdc6c046cb78cf7c51 (diff) | |
download | chromium_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.cc | 32 | ||||
-rw-r--r-- | chromecast/renderer/media/capabilities_message_filter.h | 29 |
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_ |