Commit b64ada26 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Fix decoder FIFO pacing.

parent 3c9681e1
...@@ -306,6 +306,7 @@ void input_DecoderDelete( decoder_t *p_dec ) ...@@ -306,6 +306,7 @@ void input_DecoderDelete( decoder_t *p_dec )
/** /**
* Put a block_t in the decoder's fifo. * Put a block_t in the decoder's fifo.
* Thread-safe w.r.t. the decoder. May be a cancellation point.
* *
* \param p_dec the decoder object * \param p_dec the decoder object
* \param p_block the data block * \param p_block the data block
...@@ -316,17 +317,12 @@ void input_DecoderDecode( decoder_t *p_dec, block_t *p_block ) ...@@ -316,17 +317,12 @@ void input_DecoderDecode( decoder_t *p_dec, block_t *p_block )
if( p_owner->p_input->p->b_out_pace_control ) if( p_owner->p_input->p->b_out_pace_control )
{ {
/* FIXME !!!!! */ block_FifoPace( p_owner->p_fifo, 10, SIZE_MAX );
while( vlc_object_alive( p_dec ) &&
block_FifoCount( p_owner->p_fifo ) > 10 )
{
msleep( 1000 );
}
} }
else if( block_FifoSize( p_owner->p_fifo ) > 50000000 /* 50 MB */ ) else if( block_FifoSize( p_owner->p_fifo ) > 50000000 /* 50 MB */ )
{ {
/* FIXME: ideally we would check the time amount of data /* FIXME: ideally we would check the time amount of data
* in the fifo instead of its size. */ * in the FIFO instead of its size. */
msg_Warn( p_dec, "decoder/packetizer fifo full (data not " msg_Warn( p_dec, "decoder/packetizer fifo full (data not "
"consumed quickly enough), resetting fifo!" ); "consumed quickly enough), resetting fifo!" );
block_FifoEmpty( p_owner->p_fifo ); block_FifoEmpty( p_owner->p_fifo );
......
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