mirror of
https://github.com/yattee/yattee.git
synced 2026-07-20 14:22:02 +00:00
On macOS 27 beta, mpv's coreaudio AO fails to initialize (channel layout set rejected with paramErr -50). The existing ao=coreaudio,avfoundation fallback restored audio, but exposed an mpv bug: init() registers a HAL hotplug listener (AudioObjectAddPropertyListener on the system object, with the raw ao pointer as user data) before the step that fails, and the coreaudio_error path never unregisters it. mpv then frees the ao and falls back to avfoundation, leaving a dangling listener per playback start. The next audio device change (AirPods connect, sleep/wake device republish) invokes the listener with the freed pointer and crashes with a use-after-free SIGSEGV on the HALC_ProxyNotification Call Listener Queue (observed in build 262; faulting address was reused "texture_" shader string memory). Gate the AO order by OS version: on macOS 27+ use avfoundation,coreaudio so the failing coreaudio init never runs; older macOS keeps the native coreaudio first with avfoundation as fallback. Update the read-only defaults mirror in MPV options settings to match.