[Summary] Fixed Mavericks specific backend issue

This commit is contained in:
GZharun 2014-07-16 12:52:51 +03:00
parent 7c6762063e
commit 4e8c702e9a

View file

@ -412,15 +412,18 @@ WTErr WCMRCoreAudioDevice::UpdateDeviceInputs()
&cfName); &cfName);
} }
char* cstr_name = 0;
if (error == kAudioHardwareNoError) if (error == kAudioHardwareNoError)
{ {
CFIndex length = CFStringGetLength(cfName); CFIndex length = CFStringGetLength(cfName);
CFIndex maxSize = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8); CFIndex maxSize = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8);
cstr_name = new char[maxSize];
char* cstr_name = new char[maxSize];
CFStringGetCString(cfName, cstr_name, maxSize, kCFStringEncodingUTF8); CFStringGetCString(cfName, cstr_name, maxSize, kCFStringEncodingUTF8);
}
chNameStream << (channel+1) << " - ";
if (cstr_name && (0 != std::strlen(cstr_name) ) ) {
chNameStream << cstr_name; chNameStream << cstr_name;
} }
else else
@ -429,6 +432,8 @@ WTErr WCMRCoreAudioDevice::UpdateDeviceInputs()
} }
m_InputChannels.push_back (chNameStream.str()); m_InputChannels.push_back (chNameStream.str());
delete [] cstr_name;
} }
return retVal; return retVal;
@ -528,14 +533,18 @@ WTErr WCMRCoreAudioDevice::UpdateDeviceOutputs()
&cfName); &cfName);
} }
char* cstr_name = 0;
if (error == kAudioHardwareNoError ) if (error == kAudioHardwareNoError )
{ {
CFIndex length = CFStringGetLength(cfName); CFIndex length = CFStringGetLength(cfName);
CFIndex maxSize = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8); CFIndex maxSize = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8);
cstr_name = new char[maxSize];
char* cstr_name = new char[maxSize];
CFStringGetCString(cfName, cstr_name, maxSize, kCFStringEncodingUTF8); CFStringGetCString(cfName, cstr_name, maxSize, kCFStringEncodingUTF8);
}
chNameStream << (channel+1) << " - ";
if (cstr_name && (0 != std::strlen(cstr_name) ) ) {
chNameStream << cstr_name; chNameStream << cstr_name;
} }
else else
@ -544,6 +553,8 @@ WTErr WCMRCoreAudioDevice::UpdateDeviceOutputs()
} }
m_OutputChannels.push_back (chNameStream.str()); m_OutputChannels.push_back (chNameStream.str());
delete [] cstr_name;
} }
return retVal; return retVal;