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

Unified Diff: content/common/media/media_param_traits.cc

Issue 1211273005: Use safer IPC serializations in media_param_traits.cc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Clean up unit tests Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/common/media/audio_messages.h ('k') | content/common/media/video_capture_messages.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 fc4d62efcba29d65c40b67f581e4a45ba66e78fa..698d879c2287c05c206d5118f45ee844c0498376 100644
--- a/content/common/media/media_param_traits.cc
+++ b/content/common/media/media_param_traits.cc
@@ -5,6 +5,7 @@
#include "content/common/media/media_param_traits.h"
#include "base/strings/stringprintf.h"
+#include "content/common/media/audio_messages.h"
#include "content/common/media/video_capture_messages.h"
#include "ipc/ipc_message_utils.h"
#include "media/audio/audio_parameters.h"
@@ -19,34 +20,32 @@ namespace IPC {
void ParamTraits<AudioParameters>::Write(Message* m,
const AudioParameters& p) {
- m->WriteInt(static_cast<int>(p.format()));
- m->WriteInt(static_cast<int>(p.channel_layout()));
- m->WriteInt(p.sample_rate());
- m->WriteInt(p.bits_per_sample());
- m->WriteInt(p.frames_per_buffer());
- m->WriteInt(p.channels());
- m->WriteInt(p.effects());
+ WriteParam(m, p.format());
+ WriteParam(m, p.channel_layout());
+ WriteParam(m, p.sample_rate());
+ WriteParam(m, p.bits_per_sample());
+ WriteParam(m, p.frames_per_buffer());
+ WriteParam(m, p.channels());
+ WriteParam(m, p.effects());
}
bool ParamTraits<AudioParameters>::Read(const Message* m,
base::PickleIterator* iter,
AudioParameters* r) {
- int format, channel_layout, sample_rate, bits_per_sample,
- frames_per_buffer, channels, effects;
+ AudioParameters::Format format;
+ ChannelLayout channel_layout;
+ int sample_rate, bits_per_sample, frames_per_buffer, channels, effects;
- if (!iter->ReadInt(&format) ||
- !iter->ReadInt(&channel_layout) ||
- !iter->ReadInt(&sample_rate) ||
- !iter->ReadInt(&bits_per_sample) ||
- !iter->ReadInt(&frames_per_buffer) ||
- !iter->ReadInt(&channels) ||
- !iter->ReadInt(&effects)) {
+ 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)) {
return false;
}
- AudioParameters params(static_cast<AudioParameters::Format>(format),
- static_cast<ChannelLayout>(channel_layout), channels,
- sample_rate, bits_per_sample, frames_per_buffer, effects);
+ AudioParameters params(format, channel_layout, channels, sample_rate,
+ bits_per_sample, frames_per_buffer, effects);
*r = params;
return r->IsValid();
}
« no previous file with comments | « content/common/media/audio_messages.h ('k') | content/common/media/video_capture_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698