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/mac/audio_low_latency_input_mac.h" | 5 #include "media/audio/mac/audio_low_latency_input_mac.h" |
6 | 6 |
7 #include <CoreServices/CoreServices.h> | 7 #include <CoreServices/CoreServices.h> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
444 | 444 |
445 // Get the average volume of the channels. | 445 // Get the average volume of the channels. |
446 if (successful_channels != 0) | 446 if (successful_channels != 0) |
447 return static_cast<double>(volume_float32 / successful_channels); | 447 return static_cast<double>(volume_float32 / successful_channels); |
448 } | 448 } |
449 | 449 |
450 DLOG(WARNING) << "Failed to get volume"; | 450 DLOG(WARNING) << "Failed to get volume"; |
451 return 0.0; | 451 return 0.0; |
452 } | 452 } |
453 | 453 |
454 bool AUAudioInputStream::IsMuted() { | |
455 // Verify that we have a valid device. | |
456 if (input_device_id_ == kAudioObjectUnknown) { | |
457 NOTREACHED() << "Device ID is unknown"; | |
tommi (sloooow) - chröme
2014/10/15 17:00:48
should this be a DCHECK then?
DCHECK_NE(input_dev
| |
458 return false; | |
459 } | |
460 | |
461 AudioObjectPropertyAddress property_address = { | |
462 kAudioDevicePropertyMute, | |
tommi (sloooow) - chröme
2014/10/15 17:00:48
nit: indent by two spaces and put the closing brac
henrika (OOO until Aug 14)
2014/10/16 09:58:00
Done.
| |
463 kAudioDevicePropertyScopeInput, | |
464 kAudioObjectPropertyElementMaster}; | |
465 | |
466 if (!AudioObjectHasProperty(input_device_id_, &property_address)) { | |
467 NOTREACHED() << "Device does not support checking master mute state"; | |
tommi (sloooow) - chröme
2014/10/15 17:00:48
since NOTREACHED is essentially the same as DCHECK
henrika (OOO until Aug 14)
2014/10/16 09:58:00
Done.
| |
468 return false; | |
469 } | |
470 | |
471 UInt32 muted = 0; | |
472 UInt32 size = sizeof(muted); | |
473 OSStatus result = AudioObjectGetPropertyData( | |
474 input_device_id_, &property_address, 0, NULL, &size, &muted); | |
475 if (result == noErr) | |
476 return static_cast<bool>(muted); | |
tommi (sloooow) - chröme
2014/10/15 17:00:48
nit: return muted != 0u;
actually, you could also
henrika (OOO until Aug 14)
2014/10/16 09:58:00
Done.
| |
477 | |
478 DLOG(WARNING) << "Failed to get mute state"; | |
479 return false; | |
480 } | |
481 | |
454 // AUHAL AudioDeviceOutput unit callback | 482 // AUHAL AudioDeviceOutput unit callback |
455 OSStatus AUAudioInputStream::InputProc(void* user_data, | 483 OSStatus AUAudioInputStream::InputProc(void* user_data, |
456 AudioUnitRenderActionFlags* flags, | 484 AudioUnitRenderActionFlags* flags, |
457 const AudioTimeStamp* time_stamp, | 485 const AudioTimeStamp* time_stamp, |
458 UInt32 bus_number, | 486 UInt32 bus_number, |
459 UInt32 number_of_frames, | 487 UInt32 number_of_frames, |
460 AudioBufferList* io_data) { | 488 AudioBufferList* io_data) { |
461 // Verify that the correct bus is used (Input bus/Element 1) | 489 // Verify that the correct bus is used (Input bus/Element 1) |
462 DCHECK_EQ(bus_number, static_cast<UInt32>(1)); | 490 DCHECK_EQ(bus_number, static_cast<UInt32>(1)); |
463 AUAudioInputStream* audio_input = | 491 AUAudioInputStream* audio_input = |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
647 kAudioDevicePropertyScopeInput, | 675 kAudioDevicePropertyScopeInput, |
648 static_cast<UInt32>(channel) | 676 static_cast<UInt32>(channel) |
649 }; | 677 }; |
650 OSStatus result = AudioObjectIsPropertySettable(input_device_id_, | 678 OSStatus result = AudioObjectIsPropertySettable(input_device_id_, |
651 &property_address, | 679 &property_address, |
652 &is_settable); | 680 &is_settable); |
653 return (result == noErr) ? is_settable : false; | 681 return (result == noErr) ? is_settable : false; |
654 } | 682 } |
655 | 683 |
656 } // namespace media | 684 } // namespace media |
OLD | NEW |