mirror of https://github.com/mpv-player/mpv
ao_coreaudio: set channel layout bitmap
This commit is contained in:
parent
24cad42363
commit
4d15f1bb60
|
@ -395,7 +395,23 @@ static int init_lpcm(struct ao *ao, AudioStreamBasicDescription asbd)
|
||||||
kAudioOutputUnitProperty_CurrentDevice,
|
kAudioOutputUnitProperty_CurrentDevice,
|
||||||
kAudioUnitScope_Global, 0, &p->device,
|
kAudioUnitScope_Global, 0, &p->device,
|
||||||
sizeof(p->device));
|
sizeof(p->device));
|
||||||
|
CHECK_CA_ERROR_L(coreaudio_error_audiounit,
|
||||||
|
"can't link audio unit to selected device");
|
||||||
|
|
||||||
|
if (ao->channels.num > 2) {
|
||||||
|
// No need to set a channel layout for mono and stereo inputs
|
||||||
|
AudioChannelLayout acl = (AudioChannelLayout) {
|
||||||
|
.mChannelLayoutTag = kAudioChannelLayoutTag_UseChannelBitmap,
|
||||||
|
.mChannelBitmap = mp_chmap_to_waveext(&ao->channels)
|
||||||
|
};
|
||||||
|
|
||||||
|
err = AudioUnitSetProperty(p->audio_unit,
|
||||||
|
kAudioUnitProperty_AudioChannelLayout,
|
||||||
|
kAudioUnitScope_Input, 0, &acl,
|
||||||
|
sizeof(AudioChannelLayout));
|
||||||
|
CHECK_CA_ERROR_L(coreaudio_error_audiounit,
|
||||||
|
"can't set channel layout bitmap into audio unit");
|
||||||
|
}
|
||||||
|
|
||||||
p->buffer = mp_ring_new(p, get_ring_size(ao));
|
p->buffer = mp_ring_new(p, get_ring_size(ao));
|
||||||
print_buffer(p->buffer);
|
print_buffer(p->buffer);
|
||||||
|
|
Loading…
Reference in New Issue