*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 );
p_block->p_buffer );
break;
default:
- assert(0);
+ abort();
}
if( i_ret || p_block->i_buffer <= p_sys->i_header_size + i_padding )
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;