last timestamp and -vsync 0 fix

Originally committed as revision 3492 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2004-09-22 17:50:53 +00:00
parent 21e1913175
commit 2b18dcd06d
1 changed files with 6 additions and 1 deletions

View File

@ -41,6 +41,9 @@
#include "cmdutils.h"
#undef NDEBUG
#include <assert.h>
#if !defined(INFINITY) && defined(HUGE_VAL)
#define INFINITY HUGE_VAL
#endif
@ -1081,7 +1084,9 @@ static int output_packet(AVInputStream *ist, int ist_index,
AVFrame picture;
void *buffer_to_free;
if (pkt && pkt->dts != AV_NOPTS_VALUE) { //FIXME seems redundant, as libavformat does this too
if(!pkt){
ist->pts= ist->next_pts; // needed for last packet if vsync=0
} else if (pkt->dts != AV_NOPTS_VALUE) { //FIXME seems redundant, as libavformat does this too
ist->next_pts = ist->pts = pkt->dts;
} else {
assert(ist->pts == ist->next_pts);