Convert events_unittests to run exclusively on Swarming
[chromium-blink-merge.git] / content / common / media / media_param_traits.cc
blobfc4d62efcba29d65c40b67f581e4a45ba66e78fa
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
3 // found in the LICENSE file.
5 #include "content/common/media/media_param_traits.h"
7 #include "base/strings/stringprintf.h"
8 #include "content/common/media/video_capture_messages.h"
9 #include "ipc/ipc_message_utils.h"
10 #include "media/audio/audio_parameters.h"
11 #include "media/base/limits.h"
12 #include "ui/gfx/ipc/gfx_param_traits.h"
14 using media::AudioParameters;
15 using media::ChannelLayout;
16 using media::VideoCaptureFormat;
18 namespace IPC {
20 void ParamTraits<AudioParameters>::Write(Message* m,
21 const AudioParameters& p) {
22 m->WriteInt(static_cast<int>(p.format()));
23 m->WriteInt(static_cast<int>(p.channel_layout()));
24 m->WriteInt(p.sample_rate());
25 m->WriteInt(p.bits_per_sample());
26 m->WriteInt(p.frames_per_buffer());
27 m->WriteInt(p.channels());
28 m->WriteInt(p.effects());
31 bool ParamTraits<AudioParameters>::Read(const Message* m,
32 base::PickleIterator* iter,
33 AudioParameters* r) {
34 int format, channel_layout, sample_rate, bits_per_sample,
35 frames_per_buffer, channels, effects;
37 if (!iter->ReadInt(&format) ||
38 !iter->ReadInt(&channel_layout) ||
39 !iter->ReadInt(&sample_rate) ||
40 !iter->ReadInt(&bits_per_sample) ||
41 !iter->ReadInt(&frames_per_buffer) ||
42 !iter->ReadInt(&channels) ||
43 !iter->ReadInt(&effects)) {
44 return false;
47 AudioParameters params(static_cast<AudioParameters::Format>(format),
48 static_cast<ChannelLayout>(channel_layout), channels,
49 sample_rate, bits_per_sample, frames_per_buffer, effects);
50 *r = params;
51 return r->IsValid();
54 void ParamTraits<AudioParameters>::Log(const AudioParameters& p,
55 std::string* l) {
56 l->append(base::StringPrintf("<AudioParameters>"));
59 void ParamTraits<VideoCaptureFormat>::Write(Message* m,
60 const VideoCaptureFormat& p) {
61 WriteParam(m, p.frame_size);
62 WriteParam(m, p.frame_rate);
63 WriteParam(m, p.pixel_format);
64 WriteParam(m, p.pixel_storage);
67 bool ParamTraits<VideoCaptureFormat>::Read(const Message* m,
68 base::PickleIterator* iter,
69 VideoCaptureFormat* r) {
70 if (!ReadParam(m, iter, &r->frame_size) ||
71 !ReadParam(m, iter, &r->frame_rate) ||
72 !ReadParam(m, iter, &r->pixel_format) ||
73 !ReadParam(m, iter, &r->pixel_storage)) {
74 return false;
76 return r->IsValid();
79 void ParamTraits<VideoCaptureFormat>::Log(const VideoCaptureFormat& p,
80 std::string* l) {
81 l->append(
82 base::StringPrintf("<VideoCaptureFormat> %s", p.ToString().c_str()));