List Info

Thread: r156 - trunk/libnut/demuxer.c




r156 - trunk/libnut/demuxer.c
user name
2006-09-24 14:18:28
Author: ods15
Date: Sun Sep 24 16:18:27 2006
New Revision: 156

Modified:
   trunk/libnut/demuxer.c

Log:
modify get_packet to not recurse on its own but let the
caller do it.
makes saw_syncpoint more accurate.


Modified: trunk/libnut/demuxer.c
============================================================
==================
--- trunk/libnut/demuxer.c	(original)
+++ trunk/libnut/demuxer.c	Sun Sep 24 16:18:27 2006
 -540,7
+540,7 
 			CHECK(get_bytes(nut->i, 1, &tmp));
 		} else {
 			CHECK(get_header(nut->i, NULL));
-			return get_packet(nut, pd, saw_syncpoint);
+			return 3;
 		}
 	}
 
 -697,7
+697,7 
 		nut->seek_status = 0;
 	}
 
-	err = get_packet(nut, pd, NULL);
+	while ((err = get_packet(nut, pd, NULL)) == 3);
 	if (err < 0) { // some error occured!
 		fprintf(stderr, "NUT: %sn", nut_error(-err));
 		// rewind as much as possible
 -1046,8
+1046,11 
 	if (!(nut->seek_status & 1)) while
(bctello(nut->i) < end || !end) {
 		int saw_syncpoint;
 		nut_packet_t pd;
+
 		buf_before = bctello(nut->i);
-		CHECK(get_packet(nut, &pd, &saw_syncpoint)); //
FIXME we're counting on syncpoint cache!! for the good_key
later, and stopper_syncpoint
+		err = get_packet(nut, &pd, &saw_syncpoint); //
FIXME we're counting on syncpoint cache!! for the good_key
later, and stopper_syncpoint
+		if (err == 3) continue;
+		CHECK(err);
 
 		if (saw_syncpoint) {
 			if (stopper && !stopper_syncpoint &&
buf_before > stopper->pos - stopper->back_ptr + 15)
{
 -1131,7
+1134,8 
 
 	while (bctello(nut->i) < min_pos) {
 		nut_packet_t pd;
-		CHECK(get_packet(nut, &pd, NULL));
+		while ((err = get_packet(nut, &pd, NULL)) == 3);
+		CHECK(err);
 		push_frame(nut, &pd);
 		CHECK(skip_buffer(nut->i, pd.len));
 	}
_______________________________________________
NUT-devel mailing list
NUT-develmplayerhq.hu

http://lists.mplayerhq.hu/mailman/listinfo/nut-devel
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )