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 @@ ...@@ -4,7 +4,7 @@
* includes all common video types and constants. * includes all common video types and constants.
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * 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> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* *
...@@ -73,6 +73,7 @@ typedef struct picture_s ...@@ -73,6 +73,7 @@ typedef struct picture_s
* the video output thread API, but should never be written directly */ * the video output thread API, but should never be written directly */
int i_refcount; /* link reference counter */ int i_refcount; /* link reference counter */
mtime_t date; /* display date */ mtime_t date; /* display date */
boolean_t b_force;
/* Picture dynamic properties - those properties can be changed by the /* Picture dynamic properties - those properties can be changed by the
* decoder */ * decoder */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vpar_headers.c : headers parsing * vpar_headers.c : headers parsing
***************************************************************************** *****************************************************************************
* Copyright (C) 1999-2001 VideoLAN * 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> * Authors: Christophe Massiot <massiot@via.ecp.fr>
* Stphane Borel <stef@via.ecp.fr> * Stphane Borel <stef@via.ecp.fr>
...@@ -279,6 +279,7 @@ int vpar_ParseHeader( vpar_thread_t * p_vpar ) ...@@ -279,6 +279,7 @@ int vpar_ParseHeader( vpar_thread_t * p_vpar )
case SEQUENCE_END_CODE: case SEQUENCE_END_CODE:
intf_WarnMsg(3, "vpar warning: sequence end code received"); intf_WarnMsg(3, "vpar warning: sequence end code received");
p_vpar->sequence.p_backward->b_force = 1;
ReferenceUpdate( p_vpar, I_CODING_TYPE, NULL ); ReferenceUpdate( p_vpar, I_CODING_TYPE, NULL );
return 1; return 1;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* thread, and destroy a previously oppened video output thread. * thread, and destroy a previously oppened video output thread.
***************************************************************************** *****************************************************************************
* Copyright (C) 2000-2001 VideoLAN * 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> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* *
...@@ -549,7 +549,8 @@ static void RunThread( vout_thread_t *p_vout) ...@@ -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 ] p_vout->p_fps_sample[ p_vout->c_fps_samples++ % VOUT_FPS_SAMPLES ]
= display_date; = 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 /* Picture is late: it will be destroyed and the thread
* will directly choose the next picture */ * will directly choose the next picture */
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vout_pictures.c : picture management functions * vout_pictures.c : picture management functions
***************************************************************************** *****************************************************************************
* Copyright (C) 2000 VideoLAN * 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> * Authors: Vincent Seguin <seguin@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -142,6 +142,7 @@ picture_t *vout_CreatePicture( vout_thread_t *p_vout, ...@@ -142,6 +142,7 @@ picture_t *vout_CreatePicture( vout_thread_t *p_vout,
* memory allocation needs to be done */ * memory allocation needs to be done */
p_pic->i_status = RESERVED_PICTURE; p_pic->i_status = RESERVED_PICTURE;
p_pic->i_refcount = 0; p_pic->i_refcount = 0;
p_pic->b_force = 0;
p_pic->b_progressive = b_progressive; p_pic->b_progressive = b_progressive;
p_pic->b_repeat_first_field = b_repeat_first_field; p_pic->b_repeat_first_field = b_repeat_first_field;
...@@ -177,6 +178,7 @@ picture_t *vout_CreatePicture( vout_thread_t *p_vout, ...@@ -177,6 +178,7 @@ picture_t *vout_CreatePicture( vout_thread_t *p_vout,
p_freepic->i_type = MEMORY_PICTURE; p_freepic->i_type = MEMORY_PICTURE;
p_freepic->i_refcount = 0; p_freepic->i_refcount = 0;
p_freepic->b_force = 0;
p_freepic->b_progressive = b_progressive; p_freepic->b_progressive = b_progressive;
p_freepic->b_repeat_first_field = b_repeat_first_field; 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