Becarfull it breaks the API by modifying input_DecoderDecode prototype.
(only stream_output display module use it).
typedef struct input_clock_t input_clock_t;
VLC_EXPORT( decoder_t *, input_DecoderNew, ( input_thread_t *, es_format_t *, input_clock_t *, sout_instance_t * ) );
VLC_EXPORT( void, input_DecoderDelete, ( decoder_t * ) );
typedef struct input_clock_t input_clock_t;
VLC_EXPORT( decoder_t *, input_DecoderNew, ( input_thread_t *, es_format_t *, input_clock_t *, sout_instance_t * ) );
VLC_EXPORT( void, input_DecoderDelete, ( decoder_t * ) );
-VLC_EXPORT( void, input_DecoderDecode,( decoder_t *, block_t * ) );
+VLC_EXPORT( void, input_DecoderDecode,( decoder_t *, block_t *, bool b_do_pace ) );
/**
* This function allows to split a MRL into access, demux and path part.
/**
* This function allows to split a MRL into access, demux and path part.
else
p_buffer->i_pts += p_sys->i_delay;
else
p_buffer->i_pts += p_sys->i_delay;
- input_DecoderDecode( id->p_dec, p_buffer );
+ input_DecoderDecode( id->p_dec, p_buffer, false );
* \param p_dec the decoder object
* \param p_block the data block
*/
* \param p_dec the decoder object
* \param p_block the data block
*/
-void input_DecoderDecode( decoder_t *p_dec, block_t *p_block )
+void input_DecoderDecode( decoder_t *p_dec, block_t *p_block, bool b_do_pace )
{
decoder_owner_sys_t *p_owner = p_dec->p_owner;
{
decoder_owner_sys_t *p_owner = p_dec->p_owner;
- if( p_owner->p_input->p->b_out_pace_control )
{
/* The fifo is not consummed when buffering and so will
* deadlock vlc.
{
/* The fifo is not consummed when buffering and so will
* deadlock vlc.
block_t *p_null = DecoderBlockFlushNew();
if( !p_null )
return;
block_t *p_null = DecoderBlockFlushNew();
if( !p_null )
return;
- input_DecoderDecode( p_dec, p_null );
+ input_DecoderDecode( p_dec, p_null, false );
/* */
while( vlc_object_alive( p_dec ) && p_owner->b_flushing )
/* */
while( vlc_object_alive( p_dec ) && p_owner->b_flushing )
{
block_t *p_dup = block_Duplicate( p_block );
if( p_dup )
{
block_t *p_dup = block_Duplicate( p_block );
if( p_dup )
- input_DecoderDecode( es->p_dec_record, p_dup );
+ input_DecoderDecode( es->p_dec_record, p_dup,
+ p_input->p->b_out_pace_control );
- input_DecoderDecode( es->p_dec, p_block );
+ input_DecoderDecode( es->p_dec, p_block,
+ p_input->p->b_out_pace_control );
es_format_t fmt_dsc;
vlc_meta_t *p_meta_dsc;
es_format_t fmt_dsc;
vlc_meta_t *p_meta_dsc;