# HG changeset patch # User ods15 # Date 1202122121 0 # Node ID eac2648449a5b7675c5d480d3d26bd7eb9a1ab8e # Parent db8d14740060ce493c156557f3a99c82e6b90b8a back_ptr calculation used wrong timebase when searching for back syncpoint diff -r db8d14740060 -r eac2648449a5 nutenc.c --- a/nutenc.c Mon Feb 04 10:45:32 2008 +0000 +++ b/nutenc.c Mon Feb 04 10:48:41 2008 +0000 @@ -476,7 +476,11 @@ ff_nut_reset_ts(nut, *nus->time_base, pkt->dts); for(i=0; inb_streams; i++){ AVStream *st= s->streams[i]; - int index= av_index_search_timestamp(st, pkt->dts, AVSEEK_FLAG_BACKWARD); + int64_t dts_tb = av_rescale_rnd(pkt->dts, + nus->time_base->num * (int64_t)nut->stream[i].time_base->den, + nus->time_base->den * (int64_t)nut->stream[i].time_base->num, + AV_ROUND_DOWN); + int index= av_index_search_timestamp(st, dts_tb, AVSEEK_FLAG_BACKWARD); if(index>=0) dummy.pos= FFMIN(dummy.pos, st->index_entries[index].pos); } if(dummy.pos == INT64_MAX)