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

Side by Side Diff: media/audio/win/audio_manager_win.cc

Issue 1304973005: Refactor AudioParameters member setting. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: dalecurtis comments. Created 5 years, 3 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 unified diff | Download patch
OLDNEW
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 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 const std::string& device_id) { 310 const std::string& device_id) {
311 HRESULT hr = E_FAIL; 311 HRESULT hr = E_FAIL;
312 AudioParameters parameters; 312 AudioParameters parameters;
313 if (core_audio_supported()) { 313 if (core_audio_supported()) {
314 hr = CoreAudioUtil::GetPreferredAudioParameters(device_id, false, 314 hr = CoreAudioUtil::GetPreferredAudioParameters(device_id, false,
315 &parameters); 315 &parameters);
316 } 316 }
317 317
318 if (FAILED(hr) || !parameters.IsValid()) { 318 if (FAILED(hr) || !parameters.IsValid()) {
319 // Windows Wave implementation is being used. 319 // Windows Wave implementation is being used.
320 parameters = AudioParameters( 320 parameters =
321 AudioParameters::AUDIO_PCM_LINEAR, CHANNEL_LAYOUT_STEREO, 48000, 16, 321 AudioParameters(AudioParameters::AUDIO_PCM_LINEAR,
322 kFallbackBufferSize, AudioParameters::NO_EFFECTS); 322 CHANNEL_LAYOUT_STEREO, 48000, 16, kFallbackBufferSize);
323 } 323 }
324 324
325 int user_buffer_size = GetUserBufferSize(); 325 int user_buffer_size = GetUserBufferSize();
326 if (user_buffer_size) { 326 if (user_buffer_size)
327 parameters.Reset(parameters.format(), parameters.channel_layout(), 327 parameters.set_frames_per_buffer(user_buffer_size);
328 parameters.channels(), parameters.sample_rate(),
329 parameters.bits_per_sample(), user_buffer_size);
330 }
331 328
332 return parameters; 329 return parameters;
333 } 330 }
334 331
335 std::string AudioManagerWin::GetAssociatedOutputDeviceID( 332 std::string AudioManagerWin::GetAssociatedOutputDeviceID(
336 const std::string& input_device_id) { 333 const std::string& input_device_id) {
337 if (!core_audio_supported()) { 334 if (!core_audio_supported()) {
338 NOTIMPLEMENTED() 335 NOTIMPLEMENTED()
339 << "GetAssociatedOutputDeviceID is not supported on this OS"; 336 << "GetAssociatedOutputDeviceID is not supported on this OS";
340 return std::string(); 337 return std::string();
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 buffer_size = input_params.frames_per_buffer(); 507 buffer_size = input_params.frames_per_buffer();
511 channel_layout = input_params.channel_layout(); 508 channel_layout = input_params.channel_layout();
512 sample_rate = input_params.sample_rate(); 509 sample_rate = input_params.sample_rate();
513 } 510 }
514 } 511 }
515 512
516 int user_buffer_size = GetUserBufferSize(); 513 int user_buffer_size = GetUserBufferSize();
517 if (user_buffer_size) 514 if (user_buffer_size)
518 buffer_size = user_buffer_size; 515 buffer_size = user_buffer_size;
519 516
520 return AudioParameters( 517 AudioParameters params(AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout,
521 AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, 518 sample_rate, bits_per_sample, buffer_size);
522 sample_rate, bits_per_sample, buffer_size, effects); 519 params.set_effects(effects);
520 return params;
523 } 521 }
524 522
525 AudioInputStream* AudioManagerWin::CreatePCMWaveInAudioInputStream( 523 AudioInputStream* AudioManagerWin::CreatePCMWaveInAudioInputStream(
526 const AudioParameters& params, 524 const AudioParameters& params,
527 const std::string& device_id) { 525 const std::string& device_id) {
528 std::string xp_device_id = device_id; 526 std::string xp_device_id = device_id;
529 if (device_id != AudioManagerBase::kDefaultDeviceId && 527 if (device_id != AudioManagerBase::kDefaultDeviceId &&
530 enumeration_type_ == kMMDeviceEnumeration) { 528 enumeration_type_ == kMMDeviceEnumeration) {
531 xp_device_id = ConvertToWinXPInputDeviceId(device_id); 529 xp_device_id = ConvertToWinXPInputDeviceId(device_id);
532 if (xp_device_id.empty()) { 530 if (xp_device_id.empty()) {
533 DLOG(ERROR) << "Cannot find a waveIn device which matches the device ID " 531 DLOG(ERROR) << "Cannot find a waveIn device which matches the device ID "
534 << device_id; 532 << device_id;
535 return NULL; 533 return NULL;
536 } 534 }
537 } 535 }
538 536
539 return new PCMWaveInAudioInputStream(this, params, kNumInputBuffers, 537 return new PCMWaveInAudioInputStream(this, params, kNumInputBuffers,
540 xp_device_id); 538 xp_device_id);
541 } 539 }
542 540
543 /// static 541 /// static
544 AudioManager* CreateAudioManager(AudioLogFactory* audio_log_factory) { 542 AudioManager* CreateAudioManager(AudioLogFactory* audio_log_factory) {
545 return new AudioManagerWin(audio_log_factory); 543 return new AudioManagerWin(audio_log_factory);
546 } 544 }
547 545
548 } // namespace media 546 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698