| Index: webrtc/modules/audio_device/mac/audio_device_mac.cc
|
| diff --git a/webrtc/modules/audio_device/mac/audio_device_mac.cc b/webrtc/modules/audio_device/mac/audio_device_mac.cc
|
| index 0f33d1124deea786b1407133942e8b36bf978ae7..70236b8837df9efead7bffbbdc6673e02a1e3d3f 100644
|
| --- a/webrtc/modules/audio_device/mac/audio_device_mac.cc
|
| +++ b/webrtc/modules/audio_device/mac/audio_device_mac.cc
|
| @@ -10,6 +10,7 @@
|
|
|
| #include "webrtc/base/arraysize.h"
|
| #include "webrtc/base/checks.h"
|
| +#include "webrtc/base/logging.h"
|
| #include "webrtc/base/platform_thread.h"
|
| #include "webrtc/modules/audio_device/audio_device_config.h"
|
| #include "webrtc/modules/audio_device/mac/audio_device_mac.h"
|
| @@ -221,11 +222,11 @@ int32_t AudioDeviceMac::ActiveAudioLayer(
|
| return 0;
|
| }
|
|
|
| -int32_t AudioDeviceMac::Init() {
|
| +AudioDeviceGeneric::InitStatus AudioDeviceMac::Init() {
|
| CriticalSectionScoped lock(&_critSect);
|
|
|
| if (_initialized) {
|
| - return 0;
|
| + return InitStatus::OK;
|
| }
|
|
|
| OSStatus err = noErr;
|
| @@ -250,7 +251,7 @@ int32_t AudioDeviceMac::Init() {
|
| if (bufSize == -1) {
|
| WEBRTC_TRACE(kTraceCritical, kTraceAudioDevice, _id,
|
| " PaUtil_InitializeRingBuffer() error");
|
| - return -1;
|
| + return InitStatus::PLAYOUT_ERROR;
|
| }
|
| }
|
|
|
| @@ -272,7 +273,7 @@ int32_t AudioDeviceMac::Init() {
|
| if (bufSize == -1) {
|
| WEBRTC_TRACE(kTraceCritical, kTraceAudioDevice, _id,
|
| " PaUtil_InitializeRingBuffer() error");
|
| - return -1;
|
| + return InitStatus::RECORDING_ERROR;
|
| }
|
| }
|
|
|
| @@ -282,7 +283,7 @@ int32_t AudioDeviceMac::Init() {
|
| if (kernErr != KERN_SUCCESS) {
|
| WEBRTC_TRACE(kTraceCritical, kTraceAudioDevice, _id,
|
| " semaphore_create() error: %d", kernErr);
|
| - return -1;
|
| + return InitStatus::OTHER_ERROR;
|
| }
|
|
|
| kernErr = semaphore_create(mach_task_self(), &_captureSemaphore,
|
| @@ -290,7 +291,7 @@ int32_t AudioDeviceMac::Init() {
|
| if (kernErr != KERN_SUCCESS) {
|
| WEBRTC_TRACE(kTraceCritical, kTraceAudioDevice, _id,
|
| " semaphore_create() error: %d", kernErr);
|
| - return -1;
|
| + return InitStatus::OTHER_ERROR;
|
| }
|
|
|
| // Setting RunLoop to NULL here instructs HAL to manage its own thread for
|
| @@ -302,8 +303,13 @@ int32_t AudioDeviceMac::Init() {
|
| kAudioObjectPropertyElementMaster};
|
| CFRunLoopRef runLoop = NULL;
|
| UInt32 size = sizeof(CFRunLoopRef);
|
| - WEBRTC_CA_RETURN_ON_ERR(AudioObjectSetPropertyData(
|
| - kAudioObjectSystemObject, &propertyAddress, 0, NULL, size, &runLoop));
|
| + int aoerr = AudioObjectSetPropertyData(
|
| + kAudioObjectSystemObject, &propertyAddress, 0, NULL, size, &runLoop);
|
| + if (aoerr != noErr) {
|
| + LOG(LS_ERROR) << "Error in AudioObjectSetPropertyData: "
|
| + << (const char*)&aoerr;
|
| + return InitStatus::OTHER_ERROR;
|
| + }
|
|
|
| // Listen for any device changes.
|
| propertyAddress.mSelector = kAudioHardwarePropertyDevices;
|
| @@ -338,7 +344,7 @@ int32_t AudioDeviceMac::Init() {
|
|
|
| _initialized = true;
|
|
|
| - return 0;
|
| + return InitStatus::OK;
|
| }
|
|
|
| int32_t AudioDeviceMac::Terminate() {
|
|
|