diff options
author | xians <xians@chromium.org> | 2014-08-27 03:21:31 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-08-27 10:22:14 +0000 |
commit | 2da7a5b3ead29495a3d2640343ab18c93e2805b5 (patch) | |
tree | 92f4456858de08a0e20e2e43679cdc28dc04691a /media/audio | |
parent | ee0fd44359e1b292ab8a903c0329d315caea0204 (diff) | |
download | chromium_src-2da7a5b3ead29495a3d2640343ab18c93e2805b5.zip chromium_src-2da7a5b3ead29495a3d2640343ab18c93e2805b5.tar.gz chromium_src-2da7a5b3ead29495a3d2640343ab18c93e2805b5.tar.bz2 |
Remove the last piece of deprecated synchronous IO code.
BUG=337096
TEST=bots
Review URL: https://codereview.chromium.org/460373002
Cr-Commit-Position: refs/heads/master@{#292132}
Diffstat (limited to 'media/audio')
-rw-r--r-- | media/audio/alsa/audio_manager_alsa.cc | 4 | ||||
-rw-r--r-- | media/audio/android/audio_android_unittest.cc | 2 | ||||
-rw-r--r-- | media/audio/android/audio_manager_android.cc | 6 | ||||
-rw-r--r-- | media/audio/audio_output_device.h | 7 | ||||
-rw-r--r-- | media/audio/audio_output_device_unittest.cc | 2 | ||||
-rw-r--r-- | media/audio/audio_output_resampler.cc | 2 | ||||
-rw-r--r-- | media/audio/audio_parameters.cc | 19 | ||||
-rw-r--r-- | media/audio/audio_parameters.h | 14 | ||||
-rw-r--r-- | media/audio/cras/audio_manager_cras.cc | 4 | ||||
-rw-r--r-- | media/audio/cras/cras_unified.cc | 70 | ||||
-rw-r--r-- | media/audio/cras/cras_unified.h | 8 | ||||
-rw-r--r-- | media/audio/fake_audio_manager.cc | 4 | ||||
-rw-r--r-- | media/audio/mac/audio_manager_mac.cc | 13 | ||||
-rw-r--r-- | media/audio/openbsd/audio_manager_openbsd.cc | 4 | ||||
-rw-r--r-- | media/audio/pulse/audio_manager_pulse.cc | 4 | ||||
-rw-r--r-- | media/audio/win/audio_low_latency_input_win.cc | 2 | ||||
-rw-r--r-- | media/audio/win/audio_low_latency_input_win_unittest.cc | 1 | ||||
-rw-r--r-- | media/audio/win/audio_manager_win.cc | 12 | ||||
-rw-r--r-- | media/audio/win/core_audio_util_win.cc | 4 |
19 files changed, 27 insertions, 155 deletions
diff --git a/media/audio/alsa/audio_manager_alsa.cc b/media/audio/alsa/audio_manager_alsa.cc index beb60ba..7624834 100644 --- a/media/audio/alsa/audio_manager_alsa.cc +++ b/media/audio/alsa/audio_manager_alsa.cc @@ -311,7 +311,6 @@ AudioParameters AudioManagerAlsa::GetPreferredOutputStreamParameters( int sample_rate = kDefaultSampleRate; int buffer_size = kDefaultOutputBufferSize; int bits_per_sample = 16; - int input_channels = 0; if (input_params.IsValid()) { // Some clients, such as WebRTC, have a more limited use case and work // acceptably with a smaller buffer size. The check below allows clients @@ -321,7 +320,6 @@ AudioParameters AudioManagerAlsa::GetPreferredOutputStreamParameters( sample_rate = input_params.sample_rate(); bits_per_sample = input_params.bits_per_sample(); channel_layout = input_params.channel_layout(); - input_channels = input_params.input_channels(); buffer_size = std::min(input_params.frames_per_buffer(), buffer_size); } @@ -330,7 +328,7 @@ AudioParameters AudioManagerAlsa::GetPreferredOutputStreamParameters( buffer_size = user_buffer_size; return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels, + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, sample_rate, bits_per_sample, buffer_size, AudioParameters::NO_EFFECTS); } diff --git a/media/audio/android/audio_android_unittest.cc b/media/audio/android/audio_android_unittest.cc index 177953d..68e74a4 100644 --- a/media/audio/android/audio_android_unittest.cc +++ b/media/audio/android/audio_android_unittest.cc @@ -598,7 +598,6 @@ class AudioAndroidInputTest : public AudioAndroidOutputTest, AudioParameters::NO_EFFECTS; AudioParameters params(audio_input_parameters().format(), audio_input_parameters().channel_layout(), - audio_input_parameters().input_channels(), audio_input_parameters().sample_rate(), audio_input_parameters().bits_per_sample(), audio_input_parameters().frames_per_buffer(), @@ -805,7 +804,6 @@ TEST_P(AudioAndroidInputTest, AudioParameters native_params = GetInputStreamParameters(); AudioParameters params(native_params.format(), native_params.channel_layout(), - native_params.input_channels(), native_params.sample_rate(), native_params.bits_per_sample(), native_params.sample_rate() / 100, diff --git a/media/audio/android/audio_manager_android.cc b/media/audio/android/audio_manager_android.cc index 48f203a..090f853 100644 --- a/media/audio/android/audio_manager_android.cc +++ b/media/audio/android/audio_manager_android.cc @@ -138,7 +138,7 @@ AudioParameters AudioManagerAndroid::GetInputStreamParameters( buffer_size = user_buffer_size; AudioParameters params( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, 0, + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, GetNativeOutputSampleRate(), 16, buffer_size, effects); return params; } @@ -274,13 +274,11 @@ AudioParameters AudioManagerAndroid::GetPreferredOutputStreamParameters( int sample_rate = GetNativeOutputSampleRate(); int buffer_size = GetOptimalOutputFrameSize(sample_rate, 2); int bits_per_sample = 16; - int input_channels = 0; if (input_params.IsValid()) { // Use the client's input parameters if they are valid. sample_rate = input_params.sample_rate(); bits_per_sample = input_params.bits_per_sample(); channel_layout = input_params.channel_layout(); - input_channels = input_params.input_channels(); buffer_size = GetOptimalOutputFrameSize( sample_rate, ChannelLayoutToChannelCount(channel_layout)); } @@ -290,7 +288,7 @@ AudioParameters AudioManagerAndroid::GetPreferredOutputStreamParameters( buffer_size = user_buffer_size; return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels, + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, sample_rate, bits_per_sample, buffer_size, AudioParameters::NO_EFFECTS); } diff --git a/media/audio/audio_output_device.h b/media/audio/audio_output_device.h index 8449e9f..0d53d8b 100644 --- a/media/audio/audio_output_device.h +++ b/media/audio/audio_output_device.h @@ -81,11 +81,8 @@ class MEDIA_EXPORT AudioOutputDevice scoped_ptr<AudioOutputIPC> ipc, const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner); - // Initialize function for clients wishing to have unified input and - // output, |params| may specify |input_channels| > 0, representing a - // number of input channels which will be at the same sample-rate - // and buffer-size as the output as specified in |params|. |session_id| is - // used for the browser to select the correct input device. + // Initialize the stream using |session_id|, which is used for the browser + // to select the correct input device. void InitializeWithSessionId(const AudioParameters& params, RenderCallback* callback, int session_id); diff --git a/media/audio/audio_output_device_unittest.cc b/media/audio/audio_output_device_unittest.cc index 92d9425..0e1fd1e5 100644 --- a/media/audio/audio_output_device_unittest.cc +++ b/media/audio/audio_output_device_unittest.cc @@ -126,7 +126,7 @@ int AudioOutputDeviceTest::CalculateMemorySize() { AudioOutputDeviceTest::AudioOutputDeviceTest() { default_audio_parameters_.Reset( AudioParameters::AUDIO_PCM_LINEAR, - CHANNEL_LAYOUT_STEREO, 2, 0, 48000, 16, 1024); + CHANNEL_LAYOUT_STEREO, 2, 48000, 16, 1024); audio_output_ipc_ = new MockAudioOutputIPC(); audio_device_ = new AudioOutputDevice( diff --git a/media/audio/audio_output_resampler.cc b/media/audio/audio_output_resampler.cc index 15633bb..cf966e0 100644 --- a/media/audio/audio_output_resampler.cc +++ b/media/audio/audio_output_resampler.cc @@ -221,7 +221,7 @@ bool AudioOutputResampler::OpenStream() { // Finally fall back to a fake audio output device. output_params_.Reset( AudioParameters::AUDIO_FAKE, params_.channel_layout(), - params_.channels(), params_.input_channels(), params_.sample_rate(), + params_.channels(), params_.sample_rate(), params_.bits_per_sample(), params_.frames_per_buffer()); Initialize(); if (dispatcher_->OpenStream()) { diff --git a/media/audio/audio_parameters.cc b/media/audio/audio_parameters.cc index 62b825f..7532f34 100644 --- a/media/audio/audio_parameters.cc +++ b/media/audio/audio_parameters.cc @@ -16,7 +16,6 @@ AudioParameters::AudioParameters() bits_per_sample_(0), frames_per_buffer_(0), channels_(0), - input_channels_(0), effects_(NO_EFFECTS) { } @@ -29,12 +28,10 @@ AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout, bits_per_sample_(bits_per_sample), frames_per_buffer_(frames_per_buffer), channels_(ChannelLayoutToChannelCount(channel_layout)), - input_channels_(0), effects_(NO_EFFECTS) { } AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout, - int input_channels, int sample_rate, int bits_per_sample, int frames_per_buffer, int effects) : format_(format), @@ -43,37 +40,33 @@ AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout, bits_per_sample_(bits_per_sample), frames_per_buffer_(frames_per_buffer), channels_(ChannelLayoutToChannelCount(channel_layout)), - input_channels_(input_channels), effects_(effects) { } AudioParameters::AudioParameters(Format format, ChannelLayout channel_layout, - int channels, int input_channels, - int sample_rate, int bits_per_sample, - int frames_per_buffer, int effects) + int channels, int sample_rate, + int bits_per_sample, int frames_per_buffer, + int effects) : format_(format), channel_layout_(channel_layout), sample_rate_(sample_rate), bits_per_sample_(bits_per_sample), frames_per_buffer_(frames_per_buffer), channels_(channels), - input_channels_(input_channels), effects_(effects) { if (channel_layout != CHANNEL_LAYOUT_DISCRETE) DCHECK_EQ(channels, ChannelLayoutToChannelCount(channel_layout)); } void AudioParameters::Reset(Format format, ChannelLayout channel_layout, - int channels, int input_channels, - int sample_rate, int bits_per_sample, - int frames_per_buffer) { + int channels, int sample_rate, + int bits_per_sample, int frames_per_buffer) { if (channel_layout != CHANNEL_LAYOUT_DISCRETE) DCHECK_EQ(channels, ChannelLayoutToChannelCount(channel_layout)); format_ = format; channel_layout_ = channel_layout; channels_ = channels; - input_channels_ = input_channels; sample_rate_ = sample_rate; bits_per_sample_ = bits_per_sample; frames_per_buffer_ = frames_per_buffer; @@ -86,8 +79,6 @@ bool AudioParameters::IsValid() const { (channels_ <= media::limits::kMaxChannels) && (channel_layout_ > CHANNEL_LAYOUT_UNSUPPORTED) && (channel_layout_ <= CHANNEL_LAYOUT_MAX) && - (input_channels_ >= 0) && - (input_channels_ <= media::limits::kMaxChannels) && (sample_rate_ >= media::limits::kMinSampleRate) && (sample_rate_ <= media::limits::kMaxSampleRate) && (bits_per_sample_ > 0) && diff --git a/media/audio/audio_parameters.h b/media/audio/audio_parameters.h index b23d26f..03fe043 100644 --- a/media/audio/audio_parameters.h +++ b/media/audio/audio_parameters.h @@ -58,17 +58,14 @@ class MEDIA_EXPORT AudioParameters { int sample_rate, int bits_per_sample, int frames_per_buffer); AudioParameters(Format format, ChannelLayout channel_layout, - int input_channels, int sample_rate, int bits_per_sample, int frames_per_buffer, int effects); AudioParameters(Format format, ChannelLayout channel_layout, - int channels, int input_channels, - int sample_rate, int bits_per_sample, + int channels, int sample_rate, int bits_per_sample, int frames_per_buffer, int effects); void Reset(Format format, ChannelLayout channel_layout, - int channels, int input_channels, - int sample_rate, int bits_per_sample, + int channels, int sample_rate, int bits_per_sample, int frames_per_buffer); // Checks that all values are in the expected range. All limits are specified @@ -94,7 +91,6 @@ class MEDIA_EXPORT AudioParameters { int bits_per_sample() const { return bits_per_sample_; } int frames_per_buffer() const { return frames_per_buffer_; } int channels() const { return channels_; } - int input_channels() const { return input_channels_; } int effects() const { return effects_; } // Comparison with other AudioParams. @@ -103,7 +99,6 @@ class MEDIA_EXPORT AudioParameters { sample_rate_ == other.sample_rate() && channel_layout_ == other.channel_layout() && channels_ == other.channels() && - input_channels_ == other.input_channels() && bits_per_sample_ == other.bits_per_sample() && frames_per_buffer_ == other.frames_per_buffer() && effects_ == other.effects(); @@ -120,9 +115,6 @@ class MEDIA_EXPORT AudioParameters { int channels_; // Number of channels. Value set based on // |channel_layout|. - int input_channels_; // Optional number of input channels. - // Normally 0, but can be set to specify - // synchronized I/O. int effects_; // Bitmask using PlatformEffectsMask. }; @@ -132,8 +124,6 @@ inline bool operator<(const AudioParameters& a, const AudioParameters& b) { return a.format() < b.format(); if (a.channels() != b.channels()) return a.channels() < b.channels(); - if (a.input_channels() != b.input_channels()) - return a.input_channels() < b.input_channels(); if (a.sample_rate() != b.sample_rate()) return a.sample_rate() < b.sample_rate(); if (a.bits_per_sample() != b.bits_per_sample()) diff --git a/media/audio/cras/audio_manager_cras.cc b/media/audio/cras/audio_manager_cras.cc index abc78dd..ef46176 100644 --- a/media/audio/cras/audio_manager_cras.cc +++ b/media/audio/cras/audio_manager_cras.cc @@ -124,12 +124,10 @@ AudioParameters AudioManagerCras::GetPreferredOutputStreamParameters( int sample_rate = kDefaultSampleRate; int buffer_size = kMinimumOutputBufferSize; int bits_per_sample = 16; - int input_channels = 0; if (input_params.IsValid()) { sample_rate = input_params.sample_rate(); bits_per_sample = input_params.bits_per_sample(); channel_layout = input_params.channel_layout(); - input_channels = input_params.input_channels(); buffer_size = std::min(kMaximumOutputBufferSize, std::max(buffer_size, input_params.frames_per_buffer())); @@ -140,7 +138,7 @@ AudioParameters AudioManagerCras::GetPreferredOutputStreamParameters( buffer_size = user_buffer_size; return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels, + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, sample_rate, bits_per_sample, buffer_size, AudioParameters::NO_EFFECTS); } diff --git a/media/audio/cras/cras_unified.cc b/media/audio/cras/cras_unified.cc index 25af383..42d9222 100644 --- a/media/audio/cras/cras_unified.cc +++ b/media/audio/cras/cras_unified.cc @@ -21,30 +21,6 @@ namespace media { // 5) Finally Close() is called. It cleans up and notifies the audio manager, // which likely will destroy this object. // -// For output-only streams, a unified stream is created with 0 input channels. -// -// Simplified data flow for unified streams: -// -// +-------------+ +------------------+ -// | CRAS Server | | Chrome Client | -// +------+------+ Add Stream +---------+--------+ -// |<----------------------------------| -// | | -// | buffer_frames captured to shm | -// |---------------------------------->| -// | | UnifiedCallback() -// | | ReadWriteAudio() -// | | -// | buffer_frames written to shm | -// |<----------------------------------| -// | | -// ... Repeats for each block. ... -// | | -// | | -// | Remove stream | -// |<----------------------------------| -// | | -// // Simplified data flow for output only streams: // // +-------------+ +------------------+ @@ -86,18 +62,6 @@ CrasUnifiedStream::CrasUnifiedStream(const AudioParameters& params, DCHECK(manager_); DCHECK(params_.channels() > 0); - // Must have at least one input or output. If there are both they must be the - // same. - int input_channels = params_.input_channels(); - - if (input_channels) { - // A unified stream for input and output. - DCHECK(params_.channels() == input_channels); - stream_direction_ = CRAS_STREAM_UNIFIED; - input_bus_ = AudioBus::Create(input_channels, - params_.frames_per_buffer()); - } - output_bus_ = AudioBus::Create(params); } @@ -325,9 +289,6 @@ uint32 CrasUnifiedStream::DispatchCallback(size_t frames, case CRAS_STREAM_INPUT: NOTREACHED() << "CrasUnifiedStream doesn't support input streams."; return 0; - case CRAS_STREAM_UNIFIED: - return ReadWriteAudio(frames, input_samples, output_samples, - input_ts, output_ts); default: break; } @@ -335,37 +296,6 @@ uint32 CrasUnifiedStream::DispatchCallback(size_t frames, return 0; } -// Note these are run from a real time thread, so don't waste cycles here. -uint32 CrasUnifiedStream::ReadWriteAudio(size_t frames, - uint8* input_samples, - uint8* output_samples, - const timespec* input_ts, - const timespec* output_ts) { - DCHECK_EQ(frames, static_cast<size_t>(output_bus_->frames())); - DCHECK(source_callback_); - - uint32 bytes_per_sample = bytes_per_frame_ / params_.channels(); - input_bus_->FromInterleaved(input_samples, frames, bytes_per_sample); - - // Determine latency and pass that on to the source. We have the capture time - // of the first input sample and the playback time of the next audio sample - // passed from the audio server, add them together for total latency. - uint32 total_delay_bytes; - timespec latency_ts = {0, 0}; - cras_client_calc_capture_latency(input_ts, &latency_ts); - total_delay_bytes = GetBytesLatency(latency_ts); - cras_client_calc_playback_latency(output_ts, &latency_ts); - total_delay_bytes += GetBytesLatency(latency_ts); - - int frames_filled = source_callback_->OnMoreData( - output_bus_.get(), - AudioBuffersState(0, total_delay_bytes)); - - output_bus_->ToInterleaved(frames_filled, bytes_per_sample, output_samples); - - return frames_filled; -} - uint32 CrasUnifiedStream::WriteAudio(size_t frames, uint8* buffer, const timespec* sample_ts) { diff --git a/media/audio/cras/cras_unified.h b/media/audio/cras/cras_unified.h index db1d9fe..7e946e0 100644 --- a/media/audio/cras/cras_unified.h +++ b/media/audio/cras/cras_unified.h @@ -70,13 +70,6 @@ class MEDIA_EXPORT CrasUnifiedStream : public AudioOutputStream { const timespec* input_ts, const timespec* output_ts); - // Receives input samples and write output samples for a unified I/O stream. - uint32 ReadWriteAudio(size_t frames, - uint8* input_samples, - uint8* output_samples, - const timespec* input_ts, - const timespec* output_ts); - // Writes audio for a playback stream. uint32 WriteAudio(size_t frames, uint8* buffer, const timespec* sample_ts); @@ -108,7 +101,6 @@ class MEDIA_EXPORT CrasUnifiedStream : public AudioOutputStream { AudioSourceCallback* source_callback_; // Container for exchanging data with AudioSourceCallback::OnMoreData(). - scoped_ptr<AudioBus> input_bus_; scoped_ptr<AudioBus> output_bus_; // Direciton of the stream. diff --git a/media/audio/fake_audio_manager.cc b/media/audio/fake_audio_manager.cc index e5d9bd4..a181a2f 100644 --- a/media/audio/fake_audio_manager.cc +++ b/media/audio/fake_audio_manager.cc @@ -58,17 +58,15 @@ AudioParameters FakeAudioManager::GetPreferredOutputStreamParameters( int sample_rate = kDefaultSampleRate; int buffer_size = kDefaultOutputBufferSize; int bits_per_sample = 16; - int input_channels = 0; if (input_params.IsValid()) { sample_rate = input_params.sample_rate(); bits_per_sample = input_params.bits_per_sample(); channel_layout = input_params.channel_layout(); - input_channels = input_params.input_channels(); buffer_size = std::min(input_params.frames_per_buffer(), buffer_size); } return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels, + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, sample_rate, bits_per_sample, buffer_size, AudioParameters::NO_EFFECTS); } diff --git a/media/audio/mac/audio_manager_mac.cc b/media/audio/mac/audio_manager_mac.cc index eabce32..336a8c4 100644 --- a/media/audio/mac/audio_manager_mac.cc +++ b/media/audio/mac/audio_manager_mac.cc @@ -674,20 +674,9 @@ AudioParameters AudioManagerMac::GetPreferredOutputStreamParameters( channel_layout = CHANNEL_LAYOUT_DISCRETE; } - const int input_channels = - has_valid_input_params ? input_params.input_channels() : 0; - if (input_channels > 0) { - // TODO(xians): given the limitations of the AudioOutputStream - // back-ends used with synchronized I/O, we hard-code to stereo. - // Specifically, this is a limitation of AudioSynchronizedStream which - // can be removed as part of the work to consolidate these back-ends. - channel_layout = CHANNEL_LAYOUT_STEREO; - } - return AudioParameters( AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, output_channels, - input_channels, hardware_sample_rate, 16, buffer_size, - AudioParameters::NO_EFFECTS); + hardware_sample_rate, 16, buffer_size, AudioParameters::NO_EFFECTS); } void AudioManagerMac::InitializeOnAudioThread() { diff --git a/media/audio/openbsd/audio_manager_openbsd.cc b/media/audio/openbsd/audio_manager_openbsd.cc index ec482d8..618fb0c 100644 --- a/media/audio/openbsd/audio_manager_openbsd.cc +++ b/media/audio/openbsd/audio_manager_openbsd.cc @@ -127,12 +127,10 @@ AudioParameters AudioManagerOpenBSD::GetPreferredOutputStreamParameters( int sample_rate = kDefaultSampleRate; int buffer_size = kDefaultOutputBufferSize; int bits_per_sample = 16; - int input_channels = 0; if (input_params.IsValid()) { sample_rate = input_params.sample_rate(); bits_per_sample = input_params.bits_per_sample(); channel_layout = input_params.channel_layout(); - input_channels = input_params.input_channels(); buffer_size = std::min(buffer_size, input_params.frames_per_buffer()); } @@ -141,7 +139,7 @@ AudioParameters AudioManagerOpenBSD::GetPreferredOutputStreamParameters( buffer_size = user_buffer_size; return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels, + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, sample_rate, bits_per_sample, buffer_size, AudioParameters::NO_EFFECTS); } diff --git a/media/audio/pulse/audio_manager_pulse.cc b/media/audio/pulse/audio_manager_pulse.cc index 03ff17d..c752a9e 100644 --- a/media/audio/pulse/audio_manager_pulse.cc +++ b/media/audio/pulse/audio_manager_pulse.cc @@ -176,12 +176,10 @@ AudioParameters AudioManagerPulse::GetPreferredOutputStreamParameters( ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO; int buffer_size = kMinimumOutputBufferSize; int bits_per_sample = 16; - int input_channels = 0; int sample_rate = GetNativeSampleRate(); if (input_params.IsValid()) { bits_per_sample = input_params.bits_per_sample(); channel_layout = input_params.channel_layout(); - input_channels = input_params.input_channels(); buffer_size = std::min(kMaximumOutputBufferSize, std::max(buffer_size, input_params.frames_per_buffer())); @@ -192,7 +190,7 @@ AudioParameters AudioManagerPulse::GetPreferredOutputStreamParameters( buffer_size = user_buffer_size; return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels, + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, sample_rate, bits_per_sample, buffer_size, AudioParameters::NO_EFFECTS); } diff --git a/media/audio/win/audio_low_latency_input_win.cc b/media/audio/win/audio_low_latency_input_win.cc index d29d1b4..29a2e7d 100644 --- a/media/audio/win/audio_low_latency_input_win.cc +++ b/media/audio/win/audio_low_latency_input_win.cc @@ -282,7 +282,7 @@ AudioParameters WASAPIAudioInputStream::GetInputStreamParameters( // Use 10ms frame size as default. int frames_per_buffer = sample_rate / 100; return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, 0, sample_rate, + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, sample_rate, 16, frames_per_buffer, effects); } diff --git a/media/audio/win/audio_low_latency_input_win_unittest.cc b/media/audio/win/audio_low_latency_input_win_unittest.cc index eee1887..9ce7acf 100644 --- a/media/audio/win/audio_low_latency_input_win_unittest.cc +++ b/media/audio/win/audio_low_latency_input_win_unittest.cc @@ -208,7 +208,6 @@ class AudioInputStreamWrapper { AudioInputStream* CreateInputStream() { AudioInputStream* ais = audio_man_->MakeAudioInputStream( AudioParameters(format(), default_params_.channel_layout(), - default_params_.input_channels(), sample_rate(), bits_per_sample(), frames_per_buffer_, default_params_.effects()), AudioManagerBase::kDefaultDeviceId); diff --git a/media/audio/win/audio_manager_win.cc b/media/audio/win/audio_manager_win.cc index eb05ca0..b4e5e77 100644 --- a/media/audio/win/audio_manager_win.cc +++ b/media/audio/win/audio_manager_win.cc @@ -305,7 +305,7 @@ AudioParameters AudioManagerWin::GetInputStreamParameters( if (!core_audio_supported()) { // Windows Wave implementation is being used. parameters = AudioParameters( - AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 0, 48000, + AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 48000, 16, kFallbackBufferSize, AudioParameters::NO_EFFECTS); } else { parameters = WASAPIAudioInputStream::GetInputStreamParameters(device_id); @@ -314,9 +314,8 @@ AudioParameters AudioManagerWin::GetInputStreamParameters( int user_buffer_size = GetUserBufferSize(); if (user_buffer_size) { parameters.Reset(parameters.format(), parameters.channel_layout(), - parameters.channels(), parameters.input_channels(), - parameters.sample_rate(), parameters.bits_per_sample(), - user_buffer_size); + parameters.channels(), parameters.sample_rate(), + parameters.bits_per_sample(), user_buffer_size); } return parameters; @@ -422,7 +421,6 @@ AudioParameters AudioManagerWin::GetPreferredOutputStreamParameters( int sample_rate = 48000; int buffer_size = kFallbackBufferSize; int bits_per_sample = 16; - int input_channels = 0; int effects = AudioParameters::NO_EFFECTS; bool use_input_params = !core_audio_supported(); if (core_audio_supported()) { @@ -487,7 +485,7 @@ AudioParameters AudioManagerWin::GetPreferredOutputStreamParameters( } } } - input_channels = input_params.input_channels(); + effects |= input_params.effects(); if (use_input_params) { // If WASAPI isn't supported we'll fallback to WaveOut, which will take @@ -507,7 +505,7 @@ AudioParameters AudioManagerWin::GetPreferredOutputStreamParameters( buffer_size = user_buffer_size; return AudioParameters( - AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, input_channels, + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, sample_rate, bits_per_sample, buffer_size, effects); } diff --git a/media/audio/win/core_audio_util_win.cc b/media/audio/win/core_audio_util_win.cc index 29e955ef..a01229c 100644 --- a/media/audio/win/core_audio_util_win.cc +++ b/media/audio/win/core_audio_util_win.cc @@ -698,8 +698,8 @@ HRESULT CoreAudioUtil::GetPreferredAudioParameters( if (role == eCommunications) { // Raise the 'DUCKING' flag for default communication devices. *params = AudioParameters(params->format(), params->channel_layout(), - params->channels(), params->input_channels(), params->sample_rate(), - params->bits_per_sample(), params->frames_per_buffer(), + params->channels(), params->sample_rate(), params->bits_per_sample(), + params->frames_per_buffer(), params->effects() | AudioParameters::DUCKING); } |