diff --git a/modules/audio_output/coreaudio_common.c b/modules/audio_output/coreaudio_common.c index bb8bfe4d403f1994e8454666e11b4cd5d5686c9d..0547cdd387ffdf5d2673a30d93812ead1edf759b 100644 --- a/modules/audio_output/coreaudio_common.c +++ b/modules/audio_output/coreaudio_common.c @@ -703,7 +703,7 @@ SetupInputLayout(audio_output_t *p_aout, const audio_sample_format_t *fmt, AudioChannelLayoutTag *inlayout_tag) { struct aout_sys_common *p_sys = (struct aout_sys_common *) p_aout->sys; - uint32_t chans_out[AOUT_CHAN_MAX]; + uint32_t chans_out[AOUT_CHAN_MAX] = { 0, }; /* Some channel abbreviations used below: * L - left @@ -767,13 +767,6 @@ SetupInputLayout(audio_output_t *p_aout, const audio_sample_format_t *fmt, chans_out[3] = AOUT_CHAN_REARRIGHT; chans_out[4] = AOUT_CHAN_CENTER; chans_out[5] = AOUT_CHAN_LFE; - - p_sys->chans_to_reorder = - aout_CheckChannelReorder(NULL, chans_out, - fmt->i_physical_channels, - p_sys->chan_table); - if (p_sys->chans_to_reorder) - msg_Dbg(p_aout, "channel reordering needed for 5.1 output"); } else { @@ -786,13 +779,6 @@ SetupInputLayout(audio_output_t *p_aout, const audio_sample_format_t *fmt, chans_out[3] = AOUT_CHAN_REARRIGHT; chans_out[4] = AOUT_CHAN_CENTER; chans_out[5] = AOUT_CHAN_REARCENTER; - - p_sys->chans_to_reorder = - aout_CheckChannelReorder(NULL, chans_out, - fmt->i_physical_channels, - p_sys->chan_table); - if (p_sys->chans_to_reorder) - msg_Dbg(p_aout, "channel reordering needed for 6.0 output"); } break; case 7: @@ -806,14 +792,6 @@ SetupInputLayout(audio_output_t *p_aout, const audio_sample_format_t *fmt, chans_out[4] = AOUT_CHAN_REARLEFT; chans_out[5] = AOUT_CHAN_REARRIGHT; chans_out[6] = AOUT_CHAN_REARCENTER; - - p_sys->chans_to_reorder = - aout_CheckChannelReorder(NULL, chans_out, - fmt->i_physical_channels, - p_sys->chan_table); - if (p_sys->chans_to_reorder) - msg_Dbg(p_aout, "channel reordering needed for 6.1 output"); - break; case 8: if (fmt->i_physical_channels & (AOUT_CHAN_LFE)) @@ -844,12 +822,6 @@ SetupInputLayout(audio_output_t *p_aout, const audio_sample_format_t *fmt, chans_out[6] = AOUT_CHAN_REARCENTER; chans_out[7] = AOUT_CHAN_REARRIGHT; } - p_sys->chans_to_reorder = - aout_CheckChannelReorder(NULL, chans_out, - fmt->i_physical_channels, - p_sys->chan_table); - if (p_sys->chans_to_reorder) - msg_Dbg(p_aout, "channel reordering needed for 7.1 / 8.0 output"); break; case 9: /* Lc C Rc L R Ls Cs Rs LFE */ @@ -863,16 +835,19 @@ SetupInputLayout(audio_output_t *p_aout, const audio_sample_format_t *fmt, chans_out[6] = AOUT_CHAN_REARCENTER; chans_out[7] = AOUT_CHAN_REARRIGHT; chans_out[8] = AOUT_CHAN_LFE; - - p_sys->chans_to_reorder = - aout_CheckChannelReorder(NULL, chans_out, - fmt->i_physical_channels, - p_sys->chan_table); - if (p_sys->chans_to_reorder) - msg_Dbg(p_aout, "channel reordering needed for 8.1 output"); break; } + if (chans_out[0] != 0) + { + p_sys->chans_to_reorder = + aout_CheckChannelReorder(NULL, chans_out, + fmt->i_physical_channels, + p_sys->chan_table); + if (p_sys->chans_to_reorder) + msg_Dbg(p_aout, "channel reordering needed for 5.1 output"); + } + return VLC_SUCCESS; }