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

Unified Diff: content/renderer/media/renderer_audio_hardware_config.cc

Issue 11880009: Introduce AudioHardwareConfig for renderer side audio device info. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Plumb. Created 7 years, 11 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/renderer/media/renderer_audio_hardware_config.cc
diff --git a/content/renderer/media/renderer_audio_hardware_config.cc b/content/renderer/media/renderer_audio_hardware_config.cc
new file mode 100644
index 0000000000000000000000000000000000000000..c488603d01bfeaa376e763a459c6ff805e2d2732
--- /dev/null
+++ b/content/renderer/media/renderer_audio_hardware_config.cc
@@ -0,0 +1,68 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "content/renderer/media/renderer_audio_hardware_config.h"
+
+#include "content/common/view_messages.h"
+#include "content/renderer/render_thread_impl.h"
+
+namespace content {
+
+RendererAudioHardwareConfig::RendererAudioHardwareConfig()
+ : output_buffer_size_(0),
+ output_sample_rate_(0),
+ input_sample_rate_(0),
+ input_channel_layout_(media::CHANNEL_LAYOUT_NONE) {
+ CHECK(RenderThreadImpl::current());
+ RenderThreadImpl::current()->Send(new ViewHostMsg_GetAudioHardwareConfig(
henrika (OOO until Aug 14) 2013/01/29 10:46:49 Is it OK to call a sync IPC from a ctor? It just f
DaleCurtis 2013/01/29 19:36:00 Why do you think it's riskier? Also what's riskier
henrika (OOO until Aug 14) 2013/01/30 10:10:06 I am just used to always making as lightweight tas
+ &output_buffer_size_, &output_sample_rate_, &input_sample_rate_,
+ &input_channel_layout_));
+}
+
+RendererAudioHardwareConfig::RendererAudioHardwareConfig(
+ int output_buffer_size, int output_sample_rate,
+ int input_sample_rate, media::ChannelLayout input_channel_layout)
+ : output_buffer_size_(output_buffer_size),
+ output_sample_rate_(output_sample_rate),
+ input_sample_rate_(input_sample_rate),
+ input_channel_layout_(input_channel_layout) {
+}
+
+RendererAudioHardwareConfig::~RendererAudioHardwareConfig() {}
+
+int RendererAudioHardwareConfig::GetOutputBufferSize() {
+ base::AutoLock auto_lock(config_lock_);
+ return output_buffer_size_;
+}
+
+int RendererAudioHardwareConfig::GetOutputSampleRate() {
+ base::AutoLock auto_lock(config_lock_);
+ return output_sample_rate_;
+}
+
+int RendererAudioHardwareConfig::GetInputSampleRate() {
+ base::AutoLock auto_lock(config_lock_);
+ return input_sample_rate_;
+}
+
+media::ChannelLayout RendererAudioHardwareConfig::GetInputChannelLayout() {
+ base::AutoLock auto_lock(config_lock_);
+ return input_channel_layout_;
+}
+
+void RendererAudioHardwareConfig::UpdateInputConfig(
+ int sample_rate, media::ChannelLayout channel_layout) {
+ base::AutoLock auto_lock(config_lock_);
+ input_sample_rate_ = sample_rate;
+ input_channel_layout_ = channel_layout;
+}
+
+void RendererAudioHardwareConfig::UpdateOutputConfig(int buffer_size,
+ int sample_rate) {
+ base::AutoLock auto_lock(config_lock_);
+ output_buffer_size_ = buffer_size;
+ output_sample_rate_ = sample_rate;
+}
+
+} // namespace content

Powered by Google App Engine
This is Rietveld 408576698