mirror of
https://github.com/mpv-player/mpv
synced 2024-12-24 15:52:25 +00:00
ao_coreaudio_exclusive: check format explicitly on change notifcation
This should for now be equivalent; it's merely more explicit and will be required if we add PCM support. Note that the property listeners actually tell you what property exactly changed, but resolving the current listener mess would be too hard. So check for changes manually.
This commit is contained in:
parent
34a5229b23
commit
382434d45a
@ -357,12 +357,17 @@ static OSStatus render_cb_digital(
|
||||
|
||||
// Check whether we need to reset the digital output stream.
|
||||
if (p->stream_asbd_changed) {
|
||||
p->stream_asbd_changed = 0;
|
||||
if (!p->reload_requested && ca_stream_supports_digital(ao, p->stream)) {
|
||||
p->reload_requested = true;
|
||||
ao_request_reload(ao);
|
||||
MP_INFO(ao, "Stream format changed! Reloading.\n");
|
||||
}
|
||||
AudioStreamBasicDescription f;
|
||||
OSErr err = CA_GET(p->stream, kAudioStreamPropertyPhysicalFormat, &f);
|
||||
CHECK_CA_WARN("could not get stream format");
|
||||
if (err == noErr && ca_asbd_equals(&p->stream_asbd, &f))
|
||||
p->stream_asbd_changed = 0;
|
||||
}
|
||||
|
||||
if (p->stream_asbd_changed && !p->reload_requested) {
|
||||
p->reload_requested = true;
|
||||
ao_request_reload(ao);
|
||||
MP_INFO(ao, "Stream format changed! Reloading.\n");
|
||||
}
|
||||
|
||||
return noErr;
|
||||
|
Loading…
Reference in New Issue
Block a user