| Index: content/renderer/media/audio_input_device.cc
|
| diff --git a/content/renderer/media/audio_input_device.cc b/content/renderer/media/audio_input_device.cc
|
| index 4822ef32e4b3a1f4634fcd9c492828900d394e08..24e9da923a14f3f8ad72d060fe3381fcb28efb51 100644
|
| --- a/content/renderer/media/audio_input_device.cc
|
| +++ b/content/renderer/media/audio_input_device.cc
|
| @@ -37,12 +37,11 @@ class AudioInputDevice::AudioThreadCallback
|
| DISALLOW_COPY_AND_ASSIGN(AudioThreadCallback);
|
| };
|
|
|
| -AudioInputDevice::AudioInputDevice(size_t buffer_size,
|
| - int channels,
|
| - double sample_rate,
|
| +AudioInputDevice::AudioInputDevice(const AudioParameters& params,
|
| CaptureCallback* callback,
|
| CaptureEventHandler* event_handler)
|
| : ScopedLoopObserver(ChildProcess::current()->io_message_loop()),
|
| + audio_parameters_(params),
|
| callback_(callback),
|
| event_handler_(event_handler),
|
| volume_(1.0),
|
| @@ -50,20 +49,6 @@ AudioInputDevice::AudioInputDevice(size_t buffer_size,
|
| session_id_(0),
|
| pending_device_ready_(false) {
|
| filter_ = RenderThreadImpl::current()->audio_input_message_filter();
|
| -#if defined(OS_MACOSX)
|
| - DVLOG(1) << "Using AUDIO_PCM_LOW_LATENCY as input mode on Mac OS X.";
|
| - audio_parameters_.format = AudioParameters::AUDIO_PCM_LOW_LATENCY;
|
| -#elif defined(OS_WIN)
|
| - DVLOG(1) << "Using AUDIO_PCM_LOW_LATENCY as input mode on Windows.";
|
| - audio_parameters_.format = AudioParameters::AUDIO_PCM_LOW_LATENCY;
|
| -#else
|
| - // TODO(henrika): add support for AUDIO_PCM_LOW_LATENCY on Linux as well.
|
| - audio_parameters_.format = AudioParameters::AUDIO_PCM_LINEAR;
|
| -#endif
|
| - audio_parameters_.channels = channels;
|
| - audio_parameters_.sample_rate = static_cast<int>(sample_rate);
|
| - audio_parameters_.bits_per_sample = 16;
|
| - audio_parameters_.samples_per_packet = buffer_size;
|
| }
|
|
|
| AudioInputDevice::~AudioInputDevice() {
|
| @@ -303,16 +288,16 @@ void AudioInputDevice::AudioThreadCallback::MapSharedMemory() {
|
| void AudioInputDevice::AudioThreadCallback::Process(int pending_data) {
|
| int audio_delay_milliseconds = pending_data / bytes_per_ms_;
|
| int16* memory = reinterpret_cast<int16*>(shared_memory_.memory());
|
| - const size_t number_of_frames = audio_parameters_.samples_per_packet;
|
| + const size_t number_of_frames = audio_parameters_.frames_per_buffer();
|
| const int bytes_per_sample = sizeof(memory[0]);
|
|
|
| // Deinterleave each channel and convert to 32-bit floating-point
|
| // with nominal range -1.0 -> +1.0.
|
| - for (int channel_index = 0; channel_index < audio_parameters_.channels;
|
| + for (int channel_index = 0; channel_index < audio_parameters_.channels();
|
| ++channel_index) {
|
| media::DeinterleaveAudioChannel(memory,
|
| audio_data_[channel_index],
|
| - audio_parameters_.channels,
|
| + audio_parameters_.channels(),
|
| channel_index,
|
| bytes_per_sample,
|
| number_of_frames);
|
|
|