[FFmpeg-cvslog] r14118 - in trunk: libavformat/utils.c tests/libav.regression.ref tests/seek.regression.ref

michael subversion
Tue Jul 8 16:07:38 CEST 2008


Author: michael
Date: Tue Jul  8 16:07:37 2008
New Revision: 14118

Log:
Set cur_dts to 0 only during creating new streams and not every time cur_dts happens
to be AV_NOPTS_VALUE.


Modified:
   trunk/libavformat/utils.c
   trunk/tests/libav.regression.ref
   trunk/tests/seek.regression.ref

Modified: trunk/libavformat/utils.c
==============================================================================
--- trunk/libavformat/utils.c	(original)
+++ trunk/libavformat/utils.c	Tue Jul  8 16:07:37 2008
@@ -730,10 +730,6 @@ static void compute_pkt_fields(AVFormatC
     if(pkt->dts != AV_NOPTS_VALUE && pkt->pts != AV_NOPTS_VALUE && pkt->pts > pkt->dts)
         presentation_delayed = 1;
 
-    if(st->cur_dts == AV_NOPTS_VALUE){
-        st->cur_dts = 0; //FIXME maybe set it to 0 during init
-    }
-
 //    av_log(NULL, AV_LOG_DEBUG, "IN delayed:%d pts:%"PRId64", dts:%"PRId64" cur_dts:%"PRId64" st:%d pc:%p\n", presentation_delayed, pkt->pts, pkt->dts, st->cur_dts, pkt->stream_index, pc);
     /* interpolate PTS and DTS if they are not present */
     if(delay==0 || (delay==1 && pc)){
@@ -2263,7 +2259,11 @@ AVStream *av_new_stream(AVFormatContext 
     st->id = id;
     st->start_time = AV_NOPTS_VALUE;
     st->duration = AV_NOPTS_VALUE;
-    st->cur_dts = AV_NOPTS_VALUE;
+        /* we set the current DTS to 0 so that formats without any timestamps
+           but durations get some timestamps, formats with some unknown
+           timestamps have their first few packets buffered and the
+           timestamps corrected before they are returned to the user */
+    st->cur_dts = 0;
     st->first_dts = AV_NOPTS_VALUE;
 
     /* default pts setting is MPEG-like */

Modified: trunk/tests/libav.regression.ref
==============================================================================
--- trunk/tests/libav.regression.ref	(original)
+++ trunk/tests/libav.regression.ref	Tue Jul  8 16:07:37 2008
@@ -11,7 +11,7 @@ bdb7484c68db722f66ba1630cf79844c *./test
 ./tests/data/b-libav.mpg CRC=0x2b71a386
 447b005e527cf495ec13092e788f028d *./tests/data/b-libav.ts
 471692 ./tests/data/b-libav.ts
-./tests/data/b-libav.ts CRC=0xcc4948e1
+./tests/data/b-libav.ts CRC=0xd14320e2
 d6fdeb9f7083cc827f9510c6c4517dc0 *./tests/data/b-libav.swf
 335771 ./tests/data/b-libav.swf
 ./tests/data/b-libav.swf CRC=0xe14e8847

Modified: trunk/tests/seek.regression.ref
==============================================================================
--- trunk/tests/seek.regression.ref	(original)
+++ trunk/tests/seek.regression.ref	Tue Jul  8 16:07:37 2008
@@ -3481,7 +3481,7 @@ ret:-1 st:-1 ts:0.460008 flags:0
 ret:-1 st:-1 ts:-0.645825 flags:1
 ----------------
 tests/data/b-libav.ts
-ret: 0 st: 0 dts:0.000000 pts:-102481911520608.625000 pos:-1 size:24921 flags:1
+ret: 0 st: 0 dts:-102481911520608.625000 pts:-102481911520608.625000 pos:-1 size:24921 flags:1
 ret: 0 st:-1 ts:-1.000000 flags:0
 ret: 0 st: 0 dts:0.000000 pts:-102481911520608.625000 pos:-1 size:22036 flags:1
 ret: 0 st:-1 ts:1.894167 flags:1




More information about the ffmpeg-cvslog mailing list