Commit d3f097c7 authored by Christian Kröner's avatar Christian Kröner

Honor 'device "system"' setting for OSX output

parent a3d1b107
...@@ -138,15 +138,25 @@ AudioOutput * ...@@ -138,15 +138,25 @@ AudioOutput *
OSXOutput::Create(EventLoop &, const ConfigBlock &block) OSXOutput::Create(EventLoop &, const ConfigBlock &block)
{ {
OSXOutput *oo = new OSXOutput(block); OSXOutput *oo = new OSXOutput(block);
AudioObjectPropertyAddress aopa;
AudioObjectPropertyAddress aopa = {
kAudioHardwarePropertyDefaultOutputDevice,
kAudioObjectPropertyScopeOutput,
kAudioObjectPropertyElementMaster
};
AudioDeviceID dev_id = kAudioDeviceUnknown; AudioDeviceID dev_id = kAudioDeviceUnknown;
UInt32 dev_id_size = sizeof(dev_id); UInt32 dev_id_size = sizeof(dev_id);
if (oo->component_subtype == kAudioUnitSubType_SystemOutput)
// get system output dev_id if configured
aopa = {
kAudioHardwarePropertyDefaultSystemOutputDevice,
kAudioObjectPropertyScopeOutput,
kAudioObjectPropertyElementMaster
};
else
// fallback to default device initially (can still be changed by osx_output_set_device)
aopa = {
kAudioHardwarePropertyDefaultOutputDevice,
kAudioObjectPropertyScopeOutput,
kAudioObjectPropertyElementMaster
};
AudioObjectGetPropertyData(kAudioObjectSystemObject, AudioObjectGetPropertyData(kAudioObjectSystemObject,
&aopa, &aopa,
0, 0,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment