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

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

Issue 12387006: Pass more detailed audio hardware configuration information to the renderer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 7 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 side-by-side diff with in-line comments
Download patch
Index: content/common/media/media_param_traits.cc
===================================================================
--- content/common/media/media_param_traits.cc (revision 185058)
+++ content/common/media/media_param_traits.cc (working copy)
@@ -5,17 +5,54 @@
#include "content/common/media/media_param_traits.h"
#include "base/stringprintf.h"
+#include "media/base/audio_hardware_config.h"
#include "media/audio/audio_parameters.h"
#include "media/base/limits.h"
#include "media/video/capture/video_capture_types.h"
+using media::AudioHardwareConfig;
using media::AudioParameters;
using media::ChannelLayout;
using media::VideoCaptureParams;
using media::VideoCaptureSessionId;
namespace IPC {
+
+void ParamTraits<AudioHardwareConfig>::Write(Message* m,
+ const AudioHardwareConfig& p) {
+ m->WriteInt(static_cast<int>(p.GetOutputBufferSize()));
+ m->WriteInt(static_cast<int>(p.GetOutputSampleRate()));
+ m->WriteInt(static_cast<int>(p.GetOutputChannels()));
+ m->WriteInt(static_cast<int>(p.GetOutputChannelLayout()));
+ m->WriteInt(static_cast<int>(p.GetInputSampleRate()));
+ m->WriteInt(static_cast<int>(p.GetInputChannels()));
+ m->WriteInt(static_cast<int>(p.GetInputChannelLayout()));
+}
+bool ParamTraits<AudioHardwareConfig>::Read(const Message* m,
+ PickleIterator* iter,
+ AudioHardwareConfig* r) {
+ int buffer_size, output_sample_rate, output_channels, output_channel_layout,
+ input_sample_rate, input_channels, input_channel_layout;
+
+ if (!m->ReadInt(iter, &buffer_size) ||
+ !m->ReadInt(iter, &output_sample_rate) ||
+ !m->ReadInt(iter, &output_channels) ||
+ !m->ReadInt(iter, &output_channel_layout) ||
+ !m->ReadInt(iter, &input_sample_rate) ||
+ !m->ReadInt(iter, &input_channels) ||
+ !m->ReadInt(iter, &input_channel_layout))
+ return false;
+ r->Reset(buffer_size,
+ output_sample_rate,
+ output_channels,
+ static_cast<ChannelLayout>(output_channel_layout),
+ input_sample_rate,
+ input_channels,
+ static_cast<ChannelLayout>(input_channel_layout));
+ return true;
+}
+
void ParamTraits<AudioParameters>::Write(Message* m,
const AudioParameters& p) {
m->WriteInt(static_cast<int>(p.format()));

Powered by Google App Engine
This is Rietveld 408576698