From 2dca6ea3906075a8675f4593f165aaea12f2cbe3 Mon Sep 17 00:00:00 2001 From: Michael Roitzsch Date: Sat, 22 Feb 2003 14:18:55 +0000 Subject: provide a way of invalidating extra info CVS patchset: 4249 CVS date: 2003/02/22 14:18:55 --- src/xine-engine/xine.c | 36 +++++++++++++++++++----------------- src/xine-engine/xine_internal.h | 4 +++- 2 files changed, 22 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 8ff6006f0..cc940ea26 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.c,v 1.230 2003/02/14 00:35:30 miguelfreitas Exp $ + * $Id: xine.c,v 1.231 2003/02/22 14:18:55 mroi Exp $ * * top-level xine functions * @@ -93,23 +93,25 @@ void extra_info_reset( extra_info_t *extra_info ) { void extra_info_merge( extra_info_t *dst, extra_info_t *src ) { - if( src->input_pos ) - dst->input_pos = src->input_pos; - - if( src->input_length ) - dst->input_length = src->input_length; - - if( src->input_time ) - dst->input_time = src->input_time; - - if( src->frame_number ) - dst->frame_number = src->frame_number; - - if( src->seek_count ) - dst->seek_count = src->seek_count; + if (!src->invalid) { + if( src->input_pos ) + dst->input_pos = src->input_pos; + + if( src->input_length ) + dst->input_length = src->input_length; - if( src->vpts ) - dst->vpts = src->vpts; + if( src->input_time ) + dst->input_time = src->input_time; + + if( src->frame_number ) + dst->frame_number = src->frame_number; + + if( src->seek_count ) + dst->seek_count = src->seek_count; + + if( src->vpts ) + dst->vpts = src->vpts; + } } static void xine_set_speed_internal (xine_stream_t *stream, int speed) { diff --git a/src/xine-engine/xine_internal.h b/src/xine-engine/xine_internal.h index b4c786c1c..10ce3a700 100644 --- a/src/xine-engine/xine_internal.h +++ b/src/xine-engine/xine_internal.h @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine_internal.h,v 1.127 2003/02/14 00:35:30 miguelfreitas Exp $ + * $Id: xine_internal.h,v 1.128 2003/02/22 14:18:55 mroi Exp $ * */ @@ -129,6 +129,8 @@ struct extra_info_s { int seek_count; /* internal engine use */ int64_t vpts; /* set on output layers only */ + + int invalid; /* do not use this extra info to update anything */ }; /* -- cgit v1.2.3