Hi,
I noticed a strange behaviour in Yosemite (haven’t tested prior versions yet) related to hog mode not functioning when only 1 output device is present.
Using a Macbook Pro, with no Airplay or other potential output devices connected, I get my application to hog the Built-In Output. My logging reports this as having worked, and HALLab reports the oink event on the device. With my application hogging the output, I’m still able to hear output from other applications (Skype, etc…) If I add a second output device then hog mode works properly with my application hogging one device and the system automatically re-routing audio to the second device.
The interesting thing is, if instead of using my application to hog Built-In Output, I use HALLab itself, then everything behaves as I would expect. In other words, with just Built-In Output available to the system, no sound from any other apps. The notifications in HALLab are the same as those from my application.
Just in case, here’s the selector I’m using to set hog mode { kAudioDevicePropertyHogMode, kAudioObjectPropertyScopeGlobal, kAudioObjectPropertyElementMaster }.
Any ideas what might be causing this?
-Tim |