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_manager_mac.h" | 5 #include "media/audio/mac/audio_manager_mac.h" |
6 | 6 |
7 #include <CoreAudio/AudioHardware.h> | 7 #include <CoreAudio/AudioHardware.h> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
69 0, | 69 0, |
70 NULL, | 70 NULL, |
71 &size); | 71 &size); |
72 if (result || !size) | 72 if (result || !size) |
73 return; | 73 return; |
74 | 74 |
75 int device_count = size / sizeof(AudioDeviceID); | 75 int device_count = size / sizeof(AudioDeviceID); |
76 | 76 |
77 // Get the array of device ids for all the devices, which includes both | 77 // Get the array of device ids for all the devices, which includes both |
78 // input devices and output devices. | 78 // input devices and output devices. |
79 scoped_ptr_malloc<AudioDeviceID> | 79 scoped_ptr<AudioDeviceID, base::FreeDeleter> |
80 devices(reinterpret_cast<AudioDeviceID*>(malloc(size))); | 80 devices(static_cast<AudioDeviceID*>(malloc(size))); |
81 AudioDeviceID* device_ids = devices.get(); | 81 AudioDeviceID* device_ids = devices.get(); |
82 result = AudioObjectGetPropertyData(kAudioObjectSystemObject, | 82 result = AudioObjectGetPropertyData(kAudioObjectSystemObject, |
83 &property_address, | 83 &property_address, |
84 0, | 84 0, |
85 NULL, | 85 NULL, |
86 &size, | 86 &size, |
87 device_ids); | 87 device_ids); |
88 if (result) | 88 if (result) |
89 return; | 89 return; |
90 | 90 |
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
481 AudioObjectPropertyAddress pa = { | 481 AudioObjectPropertyAddress pa = { |
482 kAudioDevicePropertyRelatedDevices, | 482 kAudioDevicePropertyRelatedDevices, |
483 kAudioDevicePropertyScopeOutput, | 483 kAudioDevicePropertyScopeOutput, |
484 kAudioObjectPropertyElementMaster | 484 kAudioObjectPropertyElementMaster |
485 }; | 485 }; |
486 OSStatus result = AudioObjectGetPropertyDataSize(device, &pa, 0, 0, &size); | 486 OSStatus result = AudioObjectGetPropertyDataSize(device, &pa, 0, 0, &size); |
487 if (result || !size) | 487 if (result || !size) |
488 return std::string(); | 488 return std::string(); |
489 | 489 |
490 int device_count = size / sizeof(AudioDeviceID); | 490 int device_count = size / sizeof(AudioDeviceID); |
491 scoped_ptr_malloc<AudioDeviceID> | 491 scoped_ptr<AudioDeviceID, base::FreeDeleter> |
492 devices(reinterpret_cast<AudioDeviceID*>(malloc(size))); | 492 devices(static_cast<AudioDeviceID*>(malloc(size))); |
493 result = AudioObjectGetPropertyData( | 493 result = AudioObjectGetPropertyData( |
494 device, &pa, 0, NULL, &size, devices.get()); | 494 device, &pa, 0, NULL, &size, devices.get()); |
495 if (result) | 495 if (result) |
496 return std::string(); | 496 return std::string(); |
497 | 497 |
498 std::vector<std::string> associated_devices; | 498 std::vector<std::string> associated_devices; |
499 for (int i = 0; i < device_count; ++i) { | 499 for (int i = 0; i < device_count; ++i) { |
500 // Get the number of output channels of the device. | 500 // Get the number of output channels of the device. |
501 pa.mSelector = kAudioDevicePropertyStreams; | 501 pa.mSelector = kAudioDevicePropertyStreams; |
502 size = 0; | 502 size = 0; |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
737 bool AudioManagerMac::ShouldDeferOutputStreamStart() { | 737 bool AudioManagerMac::ShouldDeferOutputStreamStart() { |
738 DCHECK(GetTaskRunner()->BelongsToCurrentThread()); | 738 DCHECK(GetTaskRunner()->BelongsToCurrentThread()); |
739 return power_observer_->ShouldDeferOutputStreamStart(); | 739 return power_observer_->ShouldDeferOutputStreamStart(); |
740 } | 740 } |
741 | 741 |
742 AudioManager* CreateAudioManager(AudioLogFactory* audio_log_factory) { | 742 AudioManager* CreateAudioManager(AudioLogFactory* audio_log_factory) { |
743 return new AudioManagerMac(audio_log_factory); | 743 return new AudioManagerMac(audio_log_factory); |
744 } | 744 } |
745 | 745 |
746 } // namespace media | 746 } // namespace media |
OLD | NEW |