diff --git a/ffmpeg.c b/ffmpeg.c index 6d0924d43c..170478ff76 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -1066,7 +1066,7 @@ static int output_packet(AVInputStream *ist, int ist_index, ptr = pkt->data; while (len > 0) { handle_eof: - if(!pkt || ptr != pkt->data){ + 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);