| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/audio/audio_io.h" | 5 #include "media/audio/audio_io.h" |
| 6 | 6 |
| 7 #include <windows.h> | 7 #include <windows.h> |
| 8 #include <objbase.h> // This has to be before initguid.h | 8 #include <objbase.h> // This has to be before initguid.h |
| 9 #include <initguid.h> | 9 #include <initguid.h> |
| 10 #include <mmsystem.h> | 10 #include <mmsystem.h> |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 305 const std::string& device_id) { | 305 const std::string& device_id) { |
| 306 HRESULT hr = E_FAIL; | 306 HRESULT hr = E_FAIL; |
| 307 AudioParameters parameters; | 307 AudioParameters parameters; |
| 308 if (core_audio_supported()) { | 308 if (core_audio_supported()) { |
| 309 hr = CoreAudioUtil::GetPreferredAudioParameters(device_id, false, | 309 hr = CoreAudioUtil::GetPreferredAudioParameters(device_id, false, |
| 310 ¶meters); | 310 ¶meters); |
| 311 } | 311 } |
| 312 | 312 |
| 313 if (FAILED(hr) || !parameters.IsValid()) { | 313 if (FAILED(hr) || !parameters.IsValid()) { |
| 314 // Windows Wave implementation is being used. | 314 // Windows Wave implementation is being used. |
| 315 parameters = AudioParameters( | 315 parameters = |
| 316 AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 48000, 16, | 316 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR, |
| 317 kFallbackBufferSize, AudioParameters::NO_EFFECTS); | 317 CHANNEL_LAYOUT_STEREO, 48000, 16, kFallbackBufferSize); |
| 318 } | 318 } |
| 319 | 319 |
| 320 int user_buffer_size = GetUserBufferSize(); | 320 int user_buffer_size = GetUserBufferSize(); |
| 321 if (user_buffer_size) { | 321 if (user_buffer_size) { |
| 322 parameters.Reset(parameters.format(), parameters.channel_layout(), | 322 parameters.Reset(parameters.format(), parameters.channel_layout(), |
| 323 parameters.channels(), parameters.sample_rate(), | 323 parameters.channels(), parameters.sample_rate(), |
| 324 parameters.bits_per_sample(), user_buffer_size); | 324 parameters.bits_per_sample(), user_buffer_size); |
| 325 } | 325 } |
| 326 | 326 |
| 327 return parameters; | 327 return parameters; |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 506 sample_rate = input_params.sample_rate(); | 506 sample_rate = input_params.sample_rate(); |
| 507 } | 507 } |
| 508 } | 508 } |
| 509 | 509 |
| 510 int user_buffer_size = GetUserBufferSize(); | 510 int user_buffer_size = GetUserBufferSize(); |
| 511 if (user_buffer_size) | 511 if (user_buffer_size) |
| 512 buffer_size = user_buffer_size; | 512 buffer_size = user_buffer_size; |
| 513 | 513 |
| 514 return AudioParameters( | 514 return AudioParameters( |
| 515 AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, | 515 AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, |
| 516 sample_rate, bits_per_sample, buffer_size, effects); | 516 sample_rate, bits_per_sample, buffer_size, "", effects); |
| 517 } | 517 } |
| 518 | 518 |
| 519 AudioInputStream* AudioManagerWin::CreatePCMWaveInAudioInputStream( | 519 AudioInputStream* AudioManagerWin::CreatePCMWaveInAudioInputStream( |
| 520 const AudioParameters& params, | 520 const AudioParameters& params, |
| 521 const std::string& device_id) { | 521 const std::string& device_id) { |
| 522 std::string xp_device_id = device_id; | 522 std::string xp_device_id = device_id; |
| 523 if (device_id != AudioManagerBase::kDefaultDeviceId && | 523 if (device_id != AudioManagerBase::kDefaultDeviceId && |
| 524 enumeration_type_ == kMMDeviceEnumeration) { | 524 enumeration_type_ == kMMDeviceEnumeration) { |
| 525 xp_device_id = ConvertToWinXPInputDeviceId(device_id); | 525 xp_device_id = ConvertToWinXPInputDeviceId(device_id); |
| 526 if (xp_device_id.empty()) { | 526 if (xp_device_id.empty()) { |
| 527 DLOG(ERROR) << "Cannot find a waveIn device which matches the device ID " | 527 DLOG(ERROR) << "Cannot find a waveIn device which matches the device ID " |
| 528 << device_id; | 528 << device_id; |
| 529 return NULL; | 529 return NULL; |
| 530 } | 530 } |
| 531 } | 531 } |
| 532 | 532 |
| 533 return new PCMWaveInAudioInputStream(this, params, kNumInputBuffers, | 533 return new PCMWaveInAudioInputStream(this, params, kNumInputBuffers, |
| 534 xp_device_id); | 534 xp_device_id); |
| 535 } | 535 } |
| 536 | 536 |
| 537 /// static | 537 /// static |
| 538 AudioManager* CreateAudioManager(AudioLogFactory* audio_log_factory) { | 538 AudioManager* CreateAudioManager(AudioLogFactory* audio_log_factory) { |
| 539 return new AudioManagerWin(audio_log_factory); | 539 return new AudioManagerWin(audio_log_factory); |
| 540 } | 540 } |
| 541 | 541 |
| 542 } // namespace media | 542 } // namespace media |
| OLD | NEW |