< p_bridge->pp_es[i]->i_last) )
{
block_t *p_block = p_bridge->pp_es[i]->p_block;
+ msg_Dbg( p_stream, "dropping a packet (" I64Fd ")",
+ p_bridge->pp_es[i]->i_last - p_block->i_dts );
p_bridge->pp_es[i]->p_block
= p_bridge->pp_es[i]->p_block->p_next;
block_Release( p_block );
if ( p_bridge->pp_es[i]->id != NULL )
{
block_t *p_block = p_bridge->pp_es[i]->p_block;
- p_bridge->pp_es[i]->i_last = p_bridge->pp_es[i]->p_block->i_dts
- + p_bridge->pp_es[i]->p_block->i_length;
while ( p_block != NULL )
{
+ p_bridge->pp_es[i]->i_last = p_block->i_dts;
p_block->i_pts += p_sys->i_delay;
p_block->i_dts += p_sys->i_delay;
p_block = p_block->p_next;
vout_CopyPicture( p_stream, p_new_pic, p_pic );
}
- p_pic->pf_release( p_pic );
p_new_pic->i_refcount = 1;
p_new_pic->i_status = DESTROYED_PICTURE;
p_new_pic->pf_release = ReleasePicture;
p_new_pic->date = p_pic->date;
+ p_pic->pf_release( p_pic );
PushPicture( p_stream, p_new_pic );
}
int i_index;
vlc_value_t val;
+ /* The mosaic thread is more important than the decoder threads */
+ vlc_thread_set_priority( p_this, VLC_THREAD_PRIORITY_OUTPUT );
+
/* Allocate structure */
p_sys = p_filter->p_sys = malloc( sizeof( filter_sys_t ) );
if( p_sys == NULL )