Chromium Code Reviews| Index: content/common/media/media_param_traits.cc |
| diff --git a/content/common/media/media_param_traits.cc b/content/common/media/media_param_traits.cc |
| index 19c3b87975badff70e7cce7c8eeb4aa5b63b443a..3f25d376ba834b2f7ecca323be22ea469616d172 100644 |
| --- a/content/common/media/media_param_traits.cc |
| +++ b/content/common/media/media_param_traits.cc |
| @@ -9,6 +9,7 @@ |
| #include "content/common/media/video_capture_messages.h" |
| #include "ipc/ipc_message_utils.h" |
| #include "media/audio/audio_parameters.h" |
| +#include "media/audio/point.h" |
| #include "media/base/limits.h" |
| #include "ui/gfx/ipc/gfx_param_traits.h" |
| @@ -27,6 +28,7 @@ void ParamTraits<AudioParameters>::Write(Message* m, |
| WriteParam(m, p.frames_per_buffer()); |
| WriteParam(m, p.channels()); |
| WriteParam(m, p.effects()); |
| + WriteParam(m, p.mic_positions()); |
| } |
| bool ParamTraits<AudioParameters>::Read(const Message* m, |
| @@ -35,17 +37,20 @@ bool ParamTraits<AudioParameters>::Read(const Message* m, |
| AudioParameters::Format format; |
| ChannelLayout channel_layout; |
| int sample_rate, bits_per_sample, frames_per_buffer, channels, effects; |
| + std::vector<media::Point> mic_positions; |
| if (!ReadParam(m, iter, &format) || !ReadParam(m, iter, &channel_layout) || |
| !ReadParam(m, iter, &sample_rate) || |
| !ReadParam(m, iter, &bits_per_sample) || |
| !ReadParam(m, iter, &frames_per_buffer) || |
| - !ReadParam(m, iter, &channels) || !ReadParam(m, iter, &effects)) { |
| + !ReadParam(m, iter, &channels) || !ReadParam(m, iter, &effects) || |
| + !ReadParam(m, iter, &mic_positions)) { |
| return false; |
| } |
| - AudioParameters params(format, channel_layout, channels, sample_rate, |
| - bits_per_sample, frames_per_buffer, effects); |
| + AudioParameters params(format, channels, channel_layout, sample_rate, |
| + bits_per_sample, frames_per_buffer, mic_positions, |
| + effects); |
| *r = params; |
| return r->IsValid(); |
| } |
| @@ -55,6 +60,31 @@ void ParamTraits<AudioParameters>::Log(const AudioParameters& p, |
| l->append(base::StringPrintf("<AudioParameters>")); |
| } |
| +void ParamTraits<media::Point>::Write(Message* m, const media::Point& p) { |
|
ajm
2015/09/02 18:23:04
OS X has a "struct Point" in the global namespace
|
| + WriteParam(m, p.x()); |
| + WriteParam(m, p.y()); |
| + WriteParam(m, p.z()); |
| +} |
| + |
| +bool ParamTraits<media::Point>::Read(const Message* m, |
| + base::PickleIterator* iter, |
| + media::Point* r) { |
| + float x, y, z; |
| + |
| + if (!ReadParam(m, iter, &x) || !ReadParam(m, iter, &y) || |
| + !ReadParam(m, iter, &z)) { |
| + return false; |
| + } |
| + |
| + media::Point point(x, y, z); |
| + *r = point; |
| + return r->IsValid(); |
| +} |
| + |
| +void ParamTraits<media::Point>::Log(const media::Point& p, std::string* l) { |
| + l->append(base::StringPrintf("<Point> %s", p.ToString().c_str())); |
| +} |
| + |
| void ParamTraits<VideoCaptureFormat>::Write(Message* m, |
| const VideoCaptureFormat& p) { |
| WriteParam(m, p.frame_size); |