[NUT-devel] [nut]: r249 - trunk/libnut/demuxer.c

ods15 subversion at mplayerhq.hu
Sat Nov 18 20:24:02 CET 2006


Author: ods15
Date: Sat Nov 18 20:24:02 2006
New Revision: 249

Modified:
   trunk/libnut/demuxer.c

Log:
store back_ptr in syncpoint cache even with index, makes it possible to 
find out if a syncpoint position is real

Don't remove the pts_valid flag for damaged syncpoints, it just causes 
more unncessary seeks and incorrect binary searches


Modified: trunk/libnut/demuxer.c
==============================================================================
--- trunk/libnut/demuxer.c	(original)
+++ trunk/libnut/demuxer.c	Sat Nov 18 20:24:02 2006
@@ -420,6 +420,8 @@
 			sl->s[i].pos = sp.pos;
 			assert(!sl->s[i].pts || sl->s[i].pts == sp.pts);
 			sl->s[i].pts = sp.pts;
+			assert(!sl->s[i].back_ptr || sl->s[i].back_ptr == sp.back_ptr);
+			sl->s[i].back_ptr = sp.back_ptr;
 			if (pts) {
 				for (j = 0; j < nut->stream_count; j++) {
 					assert(!sl->s[i].pts_valid || sl->pts[i * nut->stream_count + j] == pts[j]);
@@ -887,11 +889,6 @@
 			begin = i + 1;
 			i = tmp + 1;
 		}
-		sl->s[i].pts_valid = 0;
-		for (j = 0; j < nut->stream_count; j++) {
-			sl->pts[i * nut->stream_count + j] = 0;
-			sl->eor[i * nut->stream_count + j] = 0;
-		}
 
 		memmove(sl->s + begin, sl->s + i, (sl->len - i) * sizeof(syncpoint_t));
 		memmove(sl->pts + begin * nut->stream_count, sl->pts + i * nut->stream_count, (sl->len - i) * nut->stream_count * sizeof(uint64_t));



More information about the NUT-devel mailing list