summaryrefslogtreecommitdiffstats
path: root/chromecast
diff options
context:
space:
mode:
authorrockot <rockot@chromium.org>2016-02-03 12:20:16 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-03 20:21:49 +0000
commit502c94ff1a9f99b5c4ecfe700415cc4ed14228dd (patch)
tree260521d2640e580c11a54d24781ef0ebc32baee3 /chromecast
parent26c9117edc07280155c69c7fab04729af46a79eb (diff)
downloadchromium_src-502c94ff1a9f99b5c4ecfe700415cc4ed14228dd.zip
chromium_src-502c94ff1a9f99b5c4ecfe700415cc4ed14228dd.tar.gz
chromium_src-502c94ff1a9f99b5c4ecfe700415cc4ed14228dd.tar.bz2
IPC::Message -> base::Pickle
This changes consumers of IPC::Message to generally refer refer to base::Pickle instead when performing serialization and deserialization operations. The few specific instances where the IPC::Message interface (Read/WriteAttachent) is needed can safely be static_cast'd, as IPC::Message is the only public subclass of base::Pickle. The purpose of this change is to facilitate the transition to Mojo IPC, as we've trained the Mojo bindings layer to use existing ParamTraits<T> parameterized over base::Pickle. To support this base::Pickle has had some stub interfaces added for WriteAttachment and ReadAttachment, along with a Pickle::Attachment. A follow-up patch will add sizing traits to the standard IPC_STRUCT macros, enabling the majority of Chrome IPC structs to be carried over Mojo message pipes as-is. BUG=577685 R=jam@chromium.org Review URL: https://codereview.chromium.org/1659003003 Cr-Commit-Position: refs/heads/master@{#373323}
Diffstat (limited to 'chromecast')
-rw-r--r--chromecast/common/media/cma_param_traits.cc10
-rw-r--r--chromecast/common/media/cma_param_traits.h12
2 files changed, 14 insertions, 8 deletions
diff --git a/chromecast/common/media/cma_param_traits.cc b/chromecast/common/media/cma_param_traits.cc
index 4c15ac8..f27043d 100644
--- a/chromecast/common/media/cma_param_traits.cc
+++ b/chromecast/common/media/cma_param_traits.cc
@@ -30,7 +30,8 @@ IPC_ENUM_TRAITS_MAX_VALUE(media::VideoPixelFormat, media::PIXEL_FORMAT_MAX)
namespace IPC {
void ParamTraits<media::AudioDecoderConfig>::Write(
- Message* m, const media::AudioDecoderConfig& p) {
+ base::Pickle* m,
+ const media::AudioDecoderConfig& p) {
WriteParam(m, p.codec());
WriteParam(m, p.sample_format());
WriteParam(m, p.channel_layout());
@@ -40,7 +41,7 @@ void ParamTraits<media::AudioDecoderConfig>::Write(
}
bool ParamTraits<media::AudioDecoderConfig>::Read(
- const Message* m,
+ const base::Pickle* m,
base::PickleIterator* iter,
media::AudioDecoderConfig* r) {
media::AudioCodec codec;
@@ -65,7 +66,8 @@ void ParamTraits<media::AudioDecoderConfig>::Log(
}
void ParamTraits<media::VideoDecoderConfig>::Write(
- Message* m, const media::VideoDecoderConfig& p) {
+ base::Pickle* m,
+ const media::VideoDecoderConfig& p) {
WriteParam(m, p.codec());
WriteParam(m, p.profile());
WriteParam(m, p.format());
@@ -78,7 +80,7 @@ void ParamTraits<media::VideoDecoderConfig>::Write(
}
bool ParamTraits<media::VideoDecoderConfig>::Read(
- const Message* m,
+ const base::Pickle* m,
base::PickleIterator* iter,
media::VideoDecoderConfig* r) {
media::VideoCodec codec;
diff --git a/chromecast/common/media/cma_param_traits.h b/chromecast/common/media/cma_param_traits.h
index 106012b..c8609a5 100644
--- a/chromecast/common/media/cma_param_traits.h
+++ b/chromecast/common/media/cma_param_traits.h
@@ -17,16 +17,20 @@ namespace IPC {
template <>
struct ParamTraits<media::AudioDecoderConfig> {
typedef media::AudioDecoderConfig param_type;
- static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
+ static void Write(base::Pickle* m, const param_type& p);
+ static bool Read(const base::Pickle* m,
+ base::PickleIterator* iter,
+ param_type* r);
static void Log(const param_type& p, std::string* l);
};
template <>
struct ParamTraits<media::VideoDecoderConfig> {
typedef media::VideoDecoderConfig param_type;
- static void Write(Message* m, const param_type& p);
- static bool Read(const Message* m, base::PickleIterator* iter, param_type* r);
+ static void Write(base::Pickle* m, const param_type& p);
+ static bool Read(const base::Pickle* m,
+ base::PickleIterator* iter,
+ param_type* r);
static void Log(const param_type& p, std::string* l);
};