On Wed May 14 23:46:11 2025 +0000, Ada Ahmed wrote:
It's a bit confusing. `kAudioObjectPropertyScopeOutput` set the global volume for the whole system to 1.0 on my M1, and still did not actually change volume past that. `kAudioObjectPropertyScopeGlobal` ends up affecting the stream volume. (I think "Output" in this sense refers to the output device itself and not the stream, where "Global" refers to the stream regardless of output device. I am uncertain if this is actually the reality but it's the behavior I have observed, and I could not find full documentation on these parameters so it is a bit like navigating in the dark)
Could you change your patch to always use `kHALOutputParam_Volume`
This would regress per-channel support on audio devices that do support it, but given the very narrow support pool it probably(?) would go unmissed. (Famous last words.)
Yeah this is all quite undocumented, but it seems odd that setting `kAudioObjectPropertyScopeGlobal` instead of `Input`/`Output` (on an `AudioDevice`) would end up setting the stream volume.
You've successfully tested setting `kAudioDevicePropertyVolumeScalar`+`kAudioObjectPropertyScopeGlobal`, and it affected only the stream volume? What kind of hardware was it on?