Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Side by Side Diff: content/common/media/media_param_traits.cc

Issue 1275783003: Add a virtual beamforming audio device on ChromeOS. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ...and gfx. Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/common/media/media_param_traits.h" 5 #include "content/common/media/media_param_traits.h"
6 6
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "content/common/media/audio_messages.h" 8 #include "content/common/media/audio_messages.h"
9 #include "content/common/media/video_capture_messages.h" 9 #include "content/common/media/video_capture_messages.h"
10 #include "ipc/ipc_message_utils.h" 10 #include "ipc/ipc_message_utils.h"
11 #include "media/audio/audio_parameters.h" 11 #include "media/audio/audio_parameters.h"
12 #include "media/audio/point.h"
12 #include "media/base/limits.h" 13 #include "media/base/limits.h"
13 #include "ui/gfx/ipc/gfx_param_traits.h" 14 #include "ui/gfx/ipc/gfx_param_traits.h"
14 15
15 using media::AudioParameters; 16 using media::AudioParameters;
16 using media::ChannelLayout; 17 using media::ChannelLayout;
17 using media::VideoCaptureFormat; 18 using media::VideoCaptureFormat;
18 19
19 namespace IPC { 20 namespace IPC {
20 21
21 void ParamTraits<AudioParameters>::Write(Message* m, 22 void ParamTraits<AudioParameters>::Write(Message* m,
22 const AudioParameters& p) { 23 const AudioParameters& p) {
23 WriteParam(m, p.format()); 24 WriteParam(m, p.format());
24 WriteParam(m, p.channel_layout()); 25 WriteParam(m, p.channel_layout());
25 WriteParam(m, p.sample_rate()); 26 WriteParam(m, p.sample_rate());
26 WriteParam(m, p.bits_per_sample()); 27 WriteParam(m, p.bits_per_sample());
27 WriteParam(m, p.frames_per_buffer()); 28 WriteParam(m, p.frames_per_buffer());
28 WriteParam(m, p.channels()); 29 WriteParam(m, p.channels());
29 WriteParam(m, p.effects()); 30 WriteParam(m, p.effects());
31 WriteParam(m, p.mic_positions());
30 } 32 }
31 33
32 bool ParamTraits<AudioParameters>::Read(const Message* m, 34 bool ParamTraits<AudioParameters>::Read(const Message* m,
33 base::PickleIterator* iter, 35 base::PickleIterator* iter,
34 AudioParameters* r) { 36 AudioParameters* r) {
35 AudioParameters::Format format; 37 AudioParameters::Format format;
36 ChannelLayout channel_layout; 38 ChannelLayout channel_layout;
37 int sample_rate, bits_per_sample, frames_per_buffer, channels, effects; 39 int sample_rate, bits_per_sample, frames_per_buffer, channels, effects;
40 std::vector<media::Point> mic_positions;
38 41
39 if (!ReadParam(m, iter, &format) || !ReadParam(m, iter, &channel_layout) || 42 if (!ReadParam(m, iter, &format) || !ReadParam(m, iter, &channel_layout) ||
40 !ReadParam(m, iter, &sample_rate) || 43 !ReadParam(m, iter, &sample_rate) ||
41 !ReadParam(m, iter, &bits_per_sample) || 44 !ReadParam(m, iter, &bits_per_sample) ||
42 !ReadParam(m, iter, &frames_per_buffer) || 45 !ReadParam(m, iter, &frames_per_buffer) ||
43 !ReadParam(m, iter, &channels) || !ReadParam(m, iter, &effects)) { 46 !ReadParam(m, iter, &channels) || !ReadParam(m, iter, &effects) ||
47 !ReadParam(m, iter, &mic_positions)) {
44 return false; 48 return false;
45 } 49 }
46 50
47 AudioParameters params(format, channel_layout, sample_rate, bits_per_sample, 51 AudioParameters params(format, channel_layout, sample_rate, bits_per_sample,
48 frames_per_buffer); 52 frames_per_buffer);
49 params.set_channels_for_discrete(channels); 53 params.set_channels_for_discrete(channels);
50 params.set_effects(effects); 54 params.set_effects(effects);
55 params.set_mic_positions(mic_positions);
51 56
52 *r = params; 57 *r = params;
53 return r->IsValid(); 58 return r->IsValid();
54 } 59 }
55 60
56 void ParamTraits<AudioParameters>::Log(const AudioParameters& p, 61 void ParamTraits<AudioParameters>::Log(const AudioParameters& p,
57 std::string* l) { 62 std::string* l) {
58 l->append(base::StringPrintf("<AudioParameters>")); 63 l->append(base::StringPrintf("<AudioParameters>"));
59 } 64 }
60 65
(...skipping 17 matching lines...) Expand all
78 return r->IsValid(); 83 return r->IsValid();
79 } 84 }
80 85
81 void ParamTraits<VideoCaptureFormat>::Log(const VideoCaptureFormat& p, 86 void ParamTraits<VideoCaptureFormat>::Log(const VideoCaptureFormat& p,
82 std::string* l) { 87 std::string* l) {
83 l->append(base::StringPrintf("<VideoCaptureFormat> %s", 88 l->append(base::StringPrintf("<VideoCaptureFormat> %s",
84 media::VideoCaptureFormat::ToString(p).c_str())); 89 media::VideoCaptureFormat::ToString(p).c_str()));
85 } 90 }
86 91
87 } // namespace IPC 92 } // namespace IPC
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698