Merge branch 'mr080101' into 'master'

demux: mp4: aout_bitspersample to set uncompressed codecs read size

See merge request videolan/vlc!4760
This commit is contained in:
François Cartegnie 2024-04-28 07:10:39 +00:00
commit efd575c47a
1 changed files with 12 additions and 14 deletions

View File

@ -4279,22 +4279,20 @@ static uint32_t MP4_TrackGetReadSize( mp4_track_t *p_track, uint32_t *pi_nb_samp
case VLC_CODEC_AMR_WB:
i_max_v0_samples = 16;
break;
case VLC_CODEC_MPGA:
case VLC_CODEC_MP2:
case VLC_CODEC_MP3:
case VLC_CODEC_DTS:
case VLC_CODEC_MP4A:
case VLC_CODEC_A52:
case VLC_CODEC_OPUS:
i_max_v0_samples = 1;
break;
/* fixme, reverse using a list of uncompressed codecs */
default:
/* Read 25ms of samples (uncompressed) */
i_max_v0_samples = p_track->fmt.audio.i_rate / 40 *
p_track->fmt.audio.i_channels;
if( i_max_v0_samples < 1 )
if( aout_BitsPerSample(p_track->fmt.i_codec) )
{
/* Read 25ms of samples (uncompressed) */
i_max_v0_samples = p_track->fmt.audio.i_rate / 40 *
p_track->fmt.audio.i_channels;
if( i_max_v0_samples < 1 )
i_max_v0_samples = 1;
}
else
{
/* compressed codecs */
i_max_v0_samples = 1;
}
break;
}