Browse Source

aout_ChannelReorder: always use limited range for reorder

aout_CheckChannelReorder <= aout_ChannelReorder

refs #28968
cherry-pick-c5513cf9
François Cartegnie 2 years ago
committed by Steve Lhomme
parent
commit
f596de79dd
  1. 2
      modules/access/dcp/dcp.cpp
  2. 2
      modules/audio_output/waveout.c
  3. 2
      modules/demux/mkv/util.cpp
  4. 9
      modules/demux/mp4/essetup.c
  5. 4
      modules/demux/mp4/mp4.c
  6. 2
      modules/demux/mp4/mp4.h
  7. 2
      modules/demux/wav.c

2
modules/access/dcp/dcp.cpp

@ -733,7 +733,7 @@ static int Demux( demux_t *p_demux )
if( p_sys->i_chans_to_reorder )
aout_ChannelReorder( p_audio_frame->p_buffer, p_audio_frame->i_buffer,
p_sys->i_channels,
p_sys->i_chans_to_reorder,
p_sys->pi_chan_table, VLC_CODEC_S24L );
p_audio_frame->i_buffer = AudioFrameBuff.Size();

2
modules/audio_output/waveout.c

@ -356,7 +356,7 @@ static void Play( audio_output_t *p_aout, block_t *block )
if( block && p_aout->sys->chans_to_reorder )
{
aout_ChannelReorder( block->p_buffer, block->i_buffer,
p_aout->sys->waveformat.Format.nChannels,
p_aout->sys->chans_to_reorder,
p_aout->sys->chan_table, p_aout->sys->format );
}
while( PlayWaveOut( p_aout, p_aout->sys->h_waveout, p_waveheader, block,

2
modules/demux/mkv/util.cpp

@ -356,7 +356,7 @@ void send_Block( demux_t * p_demux, mkv_track_t * p_tk, block_t * p_block, unsig
if( p_tk->fmt.i_cat == AUDIO_ES && p_tk->i_chans_to_reorder )
{
aout_ChannelReorder( p_block->p_buffer, p_block->i_buffer,
p_tk->fmt.audio.i_channels,
p_tk->i_chans_to_reorder,
p_tk->pi_chan_table, p_tk->fmt.i_codec );
}

9
modules/demux/mp4/essetup.c

@ -1210,11 +1210,12 @@ int SetupAudioES( demux_t *p_demux, mp4_track_t *p_track, MP4_Box_t *p_sample )
}
}
rgi_chans_sequence[i_channels] = 0;
if( aout_CheckChannelReorder( rgi_chans_sequence, NULL, i_vlc_mapping,
p_track->rgi_chans_reordering ) &&
aout_BitsPerSample( p_track->fmt.i_codec ) )
if( aout_BitsPerSample( p_track->fmt.i_codec ) )
{
p_track->b_chans_reorder = true;
p_track->i_chans_to_reorder =
aout_CheckChannelReorder( rgi_chans_sequence, NULL,
i_vlc_mapping,
p_track->rgi_chans_reordering );
p_track->fmt.audio.i_channels = i_channels;
p_track->fmt.audio.i_physical_channels = i_vlc_mapping;
}

4
modules/demux/mp4/mp4.c

@ -706,10 +706,10 @@ static void MP4_Block_Send( demux_t *p_demux, mp4_track_t *p_track, block_t *p_b
if( p_block == NULL )
return;
if ( p_track->b_chans_reorder )
if ( p_track->i_chans_to_reorder )
{
aout_ChannelReorder( p_block->p_buffer, p_block->i_buffer,
p_track->fmt.audio.i_channels,
p_track->i_chans_to_reorder,
p_track->rgi_chans_reordering,
p_track->fmt.i_codec );
}

2
modules/demux/mp4/mp4.h

@ -92,7 +92,7 @@ typedef struct
uint32_t i_block_flags;
uint32_t i_next_block_flags;
uint8_t rgi_chans_reordering[AOUT_CHAN_MAX];
bool b_chans_reorder;
uint8_t i_chans_to_reorder;
es_out_id_t *p_es;
/* display size only ! */

2
modules/demux/wav.c

@ -481,7 +481,7 @@ static int Demux( demux_t *p_demux )
/* Do the channel reordering */
if( p_sys->i_chans_to_reorder )
aout_ChannelReorder( p_block->p_buffer, p_block->i_buffer,
p_sys->fmt.audio.i_channels,
p_sys->i_chans_to_reorder,
p_sys->pi_chan_table, p_sys->fmt.i_codec );
es_out_Send( p_demux->out, p_sys->p_es, p_block );

Loading…
Cancel
Save