Commit 95179314 authored by Stéphane Borel's avatar Stéphane Borel

*Added a b_force flag to picture_t so that we can force the display

of an image even if it is late.
parent a944ebff
......@@ -4,7 +4,7 @@
* includes all common video types and constants.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: video.h,v 1.51 2002/05/13 21:55:30 fenrir Exp $
* $Id: video.h,v 1.52 2002/05/28 18:34:42 stef Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
......@@ -73,6 +73,7 @@ typedef struct picture_s
* the video output thread API, but should never be written directly */
int i_refcount; /* link reference counter */
mtime_t date; /* display date */
boolean_t b_force;
/* Picture dynamic properties - those properties can be changed by the
* decoder */
......
......@@ -2,7 +2,7 @@
* vpar_headers.c : headers parsing
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: vpar_headers.c,v 1.20 2002/05/18 17:47:47 sam Exp $
* $Id: vpar_headers.c,v 1.21 2002/05/28 18:34:42 stef Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Stphane Borel <stef@via.ecp.fr>
......@@ -279,6 +279,7 @@ int vpar_ParseHeader( vpar_thread_t * p_vpar )
case SEQUENCE_END_CODE:
intf_WarnMsg(3, "vpar warning: sequence end code received");
p_vpar->sequence.p_backward->b_force = 1;
ReferenceUpdate( p_vpar, I_CODING_TYPE, NULL );
return 1;
......
......@@ -5,7 +5,7 @@
* thread, and destroy a previously oppened video output thread.
*****************************************************************************
* Copyright (C) 2000-2001 VideoLAN
* $Id: video_output.c,v 1.178 2002/05/23 22:21:14 sam Exp $
* $Id: video_output.c,v 1.179 2002/05/28 18:34:42 stef Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
......@@ -549,7 +549,8 @@ static void RunThread( vout_thread_t *p_vout)
p_vout->p_fps_sample[ p_vout->c_fps_samples++ % VOUT_FPS_SAMPLES ]
= display_date;
if( display_date < current_date + p_vout->render_time )
if( !p_picture->b_force &&
display_date < current_date + p_vout->render_time )
{
/* Picture is late: it will be destroyed and the thread
* will directly choose the next picture */
......
......@@ -2,7 +2,7 @@
* vout_pictures.c : picture management functions
*****************************************************************************
* Copyright (C) 2000 VideoLAN
* $Id: vout_pictures.c,v 1.25 2002/05/20 19:34:58 sam Exp $
* $Id: vout_pictures.c,v 1.26 2002/05/28 18:34:42 stef Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org>
......@@ -142,6 +142,7 @@ picture_t *vout_CreatePicture( vout_thread_t *p_vout,
* memory allocation needs to be done */
p_pic->i_status = RESERVED_PICTURE;
p_pic->i_refcount = 0;
p_pic->b_force = 0;
p_pic->b_progressive = b_progressive;
p_pic->b_repeat_first_field = b_repeat_first_field;
......@@ -177,6 +178,7 @@ picture_t *vout_CreatePicture( vout_thread_t *p_vout,
p_freepic->i_type = MEMORY_PICTURE;
p_freepic->i_refcount = 0;
p_freepic->b_force = 0;
p_freepic->b_progressive = b_progressive;
p_freepic->b_repeat_first_field = b_repeat_first_field;
......
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