summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2003-02-22 14:18:55 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2003-02-22 14:18:55 +0000
commit2dca6ea3906075a8675f4593f165aaea12f2cbe3 (patch)
treed1b7a0e231d1b66f7e702d1595aa6ecd21e60036 /src
parent5a58fb494ddef8baa61e77a1eaf60fa496f40c85 (diff)
downloadxine-lib-2dca6ea3906075a8675f4593f165aaea12f2cbe3.tar.gz
xine-lib-2dca6ea3906075a8675f4593f165aaea12f2cbe3.tar.bz2
provide a way of invalidating extra info
CVS patchset: 4249 CVS date: 2003/02/22 14:18:55
Diffstat (limited to 'src')
-rw-r--r--src/xine-engine/xine.c36
-rw-r--r--src/xine-engine/xine_internal.h4
2 files changed, 22 insertions, 18 deletions
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 */
};
/*