X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fcodec%2Flpcm.c;h=5980e9dd0b44db8aa45ecc026467ae91481b6048;hb=f4362a24bf6d9c93c78455988505fd184a5e5316;hp=22a8f2953c4d9a46425d7b6f47125d6fa11b5c81;hpb=8146a7f0e815b8c89a0d2bf0624fc6c4e87f3376;p=vlc diff --git a/modules/codec/lpcm.c b/modules/codec/lpcm.c index 22a8f2953c..5980e9dd0b 100644 --- a/modules/codec/lpcm.c +++ b/modules/codec/lpcm.c @@ -268,7 +268,7 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block ) *pp_block = NULL; /* So the packet doesn't get re-sent */ /* Date management */ - if( p_block->i_pts > 0 && + if( p_block->i_pts > VLC_TS_INVALID && p_block->i_pts != date_Get( &p_sys->end_date ) ) { date_Set( &p_sys->end_date, p_block->i_pts ); @@ -307,7 +307,7 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block ) p_block->p_buffer ); break; default: - assert(0); + abort(); } if( i_ret || p_block->i_buffer <= p_sys->i_header_size + i_padding ) @@ -361,8 +361,9 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block ) return NULL; p_aout_buffer->i_pts = date_Get( &p_sys->end_date ); - p_aout_buffer->end_date = - date_Increment( &p_sys->end_date, i_frame_length ); + p_aout_buffer->i_length = + date_Increment( &p_sys->end_date, i_frame_length ) + - p_aout_buffer->i_pts; p_block->p_buffer += p_sys->i_header_size + i_padding; p_block->i_buffer -= p_sys->i_header_size + i_padding;