last timestamp and -vsync 0 fix
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 22 Sep 2004 17:50:53 +0000 (17:50 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 22 Sep 2004 17:50:53 +0000 (17:50 +0000)
Originally committed as revision 3492 to svn://svn.ffmpeg.org/ffmpeg/trunk

ffmpeg.c

index 2a817ff..4e6ec74 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -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);