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

Side by Side Diff: media/base/ipc/media_param_traits.cc

Issue 2640003002: Implement MojoAudioRendererSink and use it in UtilityMojoMediaClient (Closed)
Patch Set: Rebase Created 3 years, 10 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
« no previous file with comments | « media/base/ipc/media_param_traits.h ('k') | media/base/ipc/media_param_traits_macros.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "media/base/ipc/media_param_traits.h" 5 #include "media/base/ipc/media_param_traits.h"
6 6
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "ipc/ipc_message_utils.h" 8 #include "ipc/ipc_message_utils.h"
9 #include "media/base/audio_parameters.h" 9 #include "media/base/audio_parameters.h"
10 #include "media/base/audio_point.h" 10 #include "media/base/audio_point.h"
11 #include "media/base/encryption_scheme.h" 11 #include "media/base/encryption_scheme.h"
12 #include "media/base/limits.h" 12 #include "media/base/limits.h"
13 #include "media/base/output_device_info.h"
13 #include "ui/gfx/ipc/geometry/gfx_param_traits.h" 14 #include "ui/gfx/ipc/geometry/gfx_param_traits.h"
14 #include "ui/gfx/ipc/gfx_param_traits.h" 15 #include "ui/gfx/ipc/gfx_param_traits.h"
15 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h" 16 #include "ui/gfx/ipc/skia/gfx_skia_param_traits.h"
16 17
17 using media::AudioParameters; 18 using media::AudioParameters;
18 using media::AudioLatency; 19 using media::AudioLatency;
19 using media::ChannelLayout; 20 using media::ChannelLayout;
21 using media::OutputDeviceInfo;
20 22
21 namespace IPC { 23 namespace IPC {
22 24
23 void ParamTraits<AudioParameters>::GetSize(base::PickleSizer* s, 25 void ParamTraits<AudioParameters>::GetSize(base::PickleSizer* s,
24 const AudioParameters& p) { 26 const AudioParameters& p) {
25 GetParamSize(s, p.format()); 27 GetParamSize(s, p.format());
26 GetParamSize(s, p.channel_layout()); 28 GetParamSize(s, p.channel_layout());
27 GetParamSize(s, p.sample_rate()); 29 GetParamSize(s, p.sample_rate());
28 GetParamSize(s, p.bits_per_sample()); 30 GetParamSize(s, p.bits_per_sample());
29 GetParamSize(s, p.frames_per_buffer()); 31 GetParamSize(s, p.frames_per_buffer());
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 return false; 144 return false;
143 *r = media::EncryptionScheme::Pattern(encrypt_blocks, skip_blocks); 145 *r = media::EncryptionScheme::Pattern(encrypt_blocks, skip_blocks);
144 return true; 146 return true;
145 } 147 }
146 148
147 void ParamTraits<media::EncryptionScheme::Pattern>::Log(const param_type& p, 149 void ParamTraits<media::EncryptionScheme::Pattern>::Log(const param_type& p,
148 std::string* l) { 150 std::string* l) {
149 l->append(base::StringPrintf("<Pattern>")); 151 l->append(base::StringPrintf("<Pattern>"));
150 } 152 }
151 153
154 void ParamTraits<OutputDeviceInfo>::GetSize(base::PickleSizer* s,
155 const OutputDeviceInfo& p) {
156 GetParamSize(s, p.device_id());
157 GetParamSize(s, p.device_status());
158 GetParamSize(s, p.output_params());
159 }
160
161 void ParamTraits<OutputDeviceInfo>::Write(base::Pickle* m,
162 const OutputDeviceInfo& p) {
163 WriteParam(m, p.device_id());
164 WriteParam(m, p.device_status());
165 WriteParam(m, p.output_params());
166 }
167
168 bool ParamTraits<OutputDeviceInfo>::Read(const base::Pickle* m,
169 base::PickleIterator* iter,
170 OutputDeviceInfo* r) {
171 std::string device_id;
172 media::OutputDeviceStatus device_status;
173 AudioParameters output_params;
174
175 if (!ReadParam(m, iter, &device_id) || !ReadParam(m, iter, &device_status) ||
176 !ReadParam(m, iter, &output_params)) {
177 return false;
178 }
179
180 OutputDeviceInfo info(device_id, device_status, output_params);
181
182 *r = info;
183 return true;
184 }
185
186 void ParamTraits<OutputDeviceInfo>::Log(const OutputDeviceInfo& p,
187 std::string* l) {
188 l->append(base::StringPrintf("<OutputDeviceInfo>"));
189 }
190
152 } // namespace IPC 191 } // namespace IPC
153 192
154 // Generate param traits size methods. 193 // Generate param traits size methods.
155 #include "ipc/param_traits_size_macros.h" 194 #include "ipc/param_traits_size_macros.h"
156 namespace IPC { 195 namespace IPC {
157 #undef MEDIA_BASE_IPC_MEDIA_PARAM_TRAITS_MACROS_H_ 196 #undef MEDIA_BASE_IPC_MEDIA_PARAM_TRAITS_MACROS_H_
158 #include "media/base/ipc/media_param_traits_macros.h" 197 #include "media/base/ipc/media_param_traits_macros.h"
159 } 198 }
160 199
161 // Generate param traits write methods. 200 // Generate param traits write methods.
162 #include "ipc/param_traits_write_macros.h" 201 #include "ipc/param_traits_write_macros.h"
163 namespace IPC { 202 namespace IPC {
164 #undef MEDIA_BASE_IPC_MEDIA_PARAM_TRAITS_MACROS_H_ 203 #undef MEDIA_BASE_IPC_MEDIA_PARAM_TRAITS_MACROS_H_
165 #include "media/base/ipc/media_param_traits_macros.h" 204 #include "media/base/ipc/media_param_traits_macros.h"
166 } // namespace IPC 205 } // namespace IPC
167 206
168 // Generate param traits read methods. 207 // Generate param traits read methods.
169 #include "ipc/param_traits_read_macros.h" 208 #include "ipc/param_traits_read_macros.h"
170 namespace IPC { 209 namespace IPC {
171 #undef MEDIA_BASE_IPC_MEDIA_PARAM_TRAITS_MACROS_H_ 210 #undef MEDIA_BASE_IPC_MEDIA_PARAM_TRAITS_MACROS_H_
172 #include "media/base/ipc/media_param_traits_macros.h" 211 #include "media/base/ipc/media_param_traits_macros.h"
173 } // namespace IPC 212 } // namespace IPC
174 213
175 // Generate param traits log methods. 214 // Generate param traits log methods.
176 #include "ipc/param_traits_log_macros.h" 215 #include "ipc/param_traits_log_macros.h"
177 namespace IPC { 216 namespace IPC {
178 #undef MEDIA_BASE_IPC_MEDIA_PARAM_TRAITS_MACROS_H_ 217 #undef MEDIA_BASE_IPC_MEDIA_PARAM_TRAITS_MACROS_H_
179 #include "media/base/ipc/media_param_traits_macros.h" 218 #include "media/base/ipc/media_param_traits_macros.h"
180 } // namespace IPC 219 } // namespace IPC
OLDNEW
« no previous file with comments | « media/base/ipc/media_param_traits.h ('k') | media/base/ipc/media_param_traits_macros.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698