Commit 64a31ec9 authored by Laurent Aimar's avatar Laurent Aimar

Fixed buffer size computation with non zero bits per sample mod 8.

parent e0c708fe
...@@ -72,6 +72,7 @@ static block_t *EncoderEncode( encoder_t *, aout_buffer_t * ); ...@@ -72,6 +72,7 @@ static block_t *EncoderEncode( encoder_t *, aout_buffer_t * );
struct decoder_sys_t struct decoder_sys_t
{ {
const int16_t *p_logtos16; /* used with m/alaw to int16_t */ const int16_t *p_logtos16; /* used with m/alaw to int16_t */
int i_bytespersample;
audio_date_t end_date; audio_date_t end_date;
}; };
...@@ -404,6 +405,7 @@ static int DecoderOpen( vlc_object_t *p_this ) ...@@ -404,6 +405,7 @@ static int DecoderOpen( vlc_object_t *p_this )
aout_DateInit( &p_sys->end_date, p_dec->fmt_out.audio.i_rate ); aout_DateInit( &p_sys->end_date, p_dec->fmt_out.audio.i_rate );
aout_DateSet( &p_sys->end_date, 0 ); aout_DateSet( &p_sys->end_date, 0 );
p_sys->i_bytespersample = ( p_dec->fmt_in.audio.i_bitspersample + 7 ) / 8;
p_dec->pf_decode_audio = DecodeBlock; p_dec->pf_decode_audio = DecodeBlock;
...@@ -441,7 +443,7 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block ) ...@@ -441,7 +443,7 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
/* Don't re-use the same pts twice */ /* Don't re-use the same pts twice */
p_block->i_pts = 0; p_block->i_pts = 0;
i_samples = p_block->i_buffer * 8 / p_dec->fmt_in.audio.i_bitspersample / i_samples = p_block->i_buffer / p_sys->i_bytespersample /
p_dec->fmt_in.audio.i_channels; p_dec->fmt_in.audio.i_channels;
if( i_samples <= 0 ) if( i_samples <= 0 )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment