if( p_sys->i_output_max < AVCODEC_MAX_AUDIO_FRAME_SIZE )
p_sys->i_output_max = AVCODEC_MAX_AUDIO_FRAME_SIZE;
msg_Dbg( p_dec, "Using %d bytes output buffer", p_sys->i_output_max );
- p_sys->p_output = malloc( p_sys->i_output_max );
+ p_sys->p_output = av_malloc( p_sys->i_output_max );
p_sys->p_samples = NULL;
p_sys->i_samples = 0;
else
memcpy( p_buffer->p_buffer, p_sys->p_samples, p_buffer->i_nb_bytes );
- p_sys->p_samples += p_buffer->i_nb_bytes;
+ p_sys->p_samples += i_samples * p_sys->p_context->channels * ( p_dec->fmt_out.audio.i_bitspersample / 8 );
p_sys->i_samples -= i_samples;
return p_buffer;
if( i_output > p_sys->i_output_max )
{
/* Grow output buffer if necessary (eg. for PCM data) */
- p_sys->p_output = realloc( p_sys->p_output, i_output );
+ p_sys->p_output = av_realloc( p_sys->p_output, i_output );
}
*pp_block = p_block = block_Realloc( p_block, 0, p_block->i_buffer + FF_INPUT_BUFFER_PADDING_SIZE );
{
decoder_sys_t *p_sys = p_dec->p_sys;
- free( p_sys->p_output );
+ av_free( p_sys->p_output );
}
/*****************************************************************************
p_dec->fmt_out.audio.i_bitspersample = 16;
#endif
p_dec->fmt_out.audio.i_rate = p_sys->p_context->sample_rate;
- p_dec->fmt_out.audio.i_channels = p_sys->p_context->channels;
/* */
#if defined(LIBAVCODEC_AUDIO_LAYOUT)