
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));