From b1b818fce82dd9acd0493321b3857d329408add9 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 17 Feb 2008 17:55:53 +0000 Subject: simplify (next_)pts code Originally committed as revision 12131 to svn://svn.ffmpeg.org/ffmpeg/trunk --- ffmpeg.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'ffmpeg.c') diff --git a/ffmpeg.c b/ffmpeg.c index 170478ff76..59ce7caa69 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1062,17 +1062,14 @@ static int output_packet(AVInputStream *ist, int ist_index, goto handle_eof; } + if(pkt->dts != AV_NOPTS_VALUE) + ist->next_pts = ist->pts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q); + len = pkt->size; ptr = pkt->data; while (len > 0) { handle_eof: - if(!pkt || ptr != pkt->data || pkt->dts == AV_NOPTS_VALUE){ - ist->pts= ist->next_pts; // needed for last packet if vsync=0 and for multi pkt - } else if (pkt->dts != AV_NOPTS_VALUE) { //FIXME seems redundant, as libavformat does this too - ist->next_pts = ist->pts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q); - } else { - // assert(ist->pts == ist->next_pts); - } + ist->pts= ist->next_pts; /* decode the packet if needed */ data_buf = NULL; /* fail safe */ -- cgit v1.2.3