diff options
Diffstat (limited to 'audio/out/ao_coreaudio_exclusive.c')
-rw-r--r-- | audio/out/ao_coreaudio_exclusive.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/audio/out/ao_coreaudio_exclusive.c b/audio/out/ao_coreaudio_exclusive.c index f8aba87188..c998ee825c 100644 --- a/audio/out/ao_coreaudio_exclusive.c +++ b/audio/out/ao_coreaudio_exclusive.c @@ -315,7 +315,10 @@ static int init(struct ao *ao) ao->samplerate = p->stream_asbd.mSampleRate; if (ao->channels.num != p->stream_asbd.mChannelsPerFrame) { - // We really expect that ca_init_chmap() fixes the layout to the HW's. + ca_active_chmap(ao, p->device, p->stream_asbd.mChannelsPerFrame, + &ao->channels); + } + if (!ao->channels.num) { MP_ERR(ao, "number of channels changed, and unknown channel layout!\n"); goto coreaudio_error; } |