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); |