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

Unified Diff: content/browser/renderer_host/render_message_filter.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/browser/renderer_host/render_message_filter.cc
===================================================================
--- content/browser/renderer_host/render_message_filter.cc (revision 185058)
+++ content/browser/renderer_host/render_message_filter.cc (working copy)
@@ -33,6 +33,7 @@
#include "content/common/child_process_messages.h"
#include "content/common/desktop_notification_messages.h"
#include "content/common/view_messages.h"
+#include "content/common/media/media_param_traits.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/content_browser_client.h"
@@ -47,6 +48,7 @@
#include "ipc/ipc_platform_file.h"
#include "media/audio/audio_manager_base.h"
#include "media/audio/audio_util.h"
+#include "media/base/audio_hardware_config.h"
#include "media/base/media_log_event.h"
#include "net/base/io_buffer.h"
#include "net/base/keygen_handler.h"
@@ -777,16 +779,25 @@
}
void RenderMessageFilter::OnGetAudioHardwareConfig(
- int* output_buffer_size, int* output_sample_rate, int* input_sample_rate,
- media::ChannelLayout* input_channel_layout) {
- *output_buffer_size = media::GetAudioHardwareBufferSize();
- *output_sample_rate = media::GetAudioHardwareSampleRate();
+ media::AudioHardwareConfig* config) {
+ media::ChannelLayout input_channel_layout =
+ media::GetAudioInputHardwareChannelLayout(
+ media::AudioManagerBase::kDefaultDeviceId);
+ // TODO(crogers): find a way to get a reasonable value for |input_channels|
+ // for CHANNEL_LAYOUT_NONE.
+ int input_channels =
+ media::ChannelLayoutToChannelCount(input_channel_layout);
- // TODO(henrika): add support for all available input devices.
- *input_sample_rate = media::GetAudioInputHardwareSampleRate(
- media::AudioManagerBase::kDefaultDeviceId);
- *input_channel_layout = media::GetAudioInputHardwareChannelLayout(
- media::AudioManagerBase::kDefaultDeviceId);
+ config->Reset(
+ media::GetAudioHardwareBufferSize(),
+ media::GetAudioHardwareSampleRate(),
+ media::GetAudioHardwareOutputChannels(),
+ media::CHANNEL_LAYOUT_NONE,
+ // TODO(henrika): add support for all available input devices.
+ media::GetAudioInputHardwareSampleRate(
+ media::AudioManagerBase::kDefaultDeviceId),
+ input_channels,
+ input_channel_layout);
}
void RenderMessageFilter::OnGetMonitorColorProfile(std::vector<char>* profile) {

Powered by Google App Engine
This is Rietveld 408576698