simplify (next_)pts code

Originally committed as revision 12131 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2008-02-17 17:55:53 +00:00
parent da0ef2d557
commit b1b818fce8
1 changed files with 4 additions and 7 deletions

View File

@ -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 */