[FFmpeg-cvslog] avformat/matroskaenc: Use avoid_negative_ts_use_pts if no stream writes dts

Michael Niedermayer git at videolan.org
Fri May 15 01:58:18 CEST 2015


ffmpeg | branch: release/2.6 | Michael Niedermayer <michaelni at gmx.at> | Tue May  5 12:57:24 2015 +0200| [d9390b9d649c8c5e6facf0be522afadb92132032] | committer: James Almer

avformat/matroskaenc: Use avoid_negative_ts_use_pts if no stream writes dts

This reduces the number of cases where timestamps need to be shifted

Fixes Ticket4487

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 9d4fdfe24c731d1880797dee65365154b41c1dea)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d9390b9d649c8c5e6facf0be522afadb92132032
---

 libavformat/matroskaenc.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 22af9ef..ec85651 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -940,6 +940,7 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv,
             // if there is no mkv-specific codec ID, use VFW mode
             put_ebml_string(pb, MATROSKA_ID_CODECID, "V_MS/VFW/FOURCC");
             mkv->tracks[i].write_dts = 1;
+            s->internal->avoid_negative_ts_use_pts = 0;
         }
 
         subinfo = start_ebml_master(pb, MATROSKA_ID_TRACKVIDEO, 0);
@@ -1316,8 +1317,10 @@ static int mkv_write_header(AVFormatContext *s)
     else
         mkv->mode = MODE_MATROSKAv2;
 
-    if (s->avoid_negative_ts < 0)
+    if (s->avoid_negative_ts < 0) {
         s->avoid_negative_ts = 1;
+        s->internal->avoid_negative_ts_use_pts = 1;
+    }
 
     if (mkv->mode != MODE_WEBM ||
         av_dict_get(s->metadata, "stereo_mode", NULL, 0) ||



More information about the ffmpeg-cvslog mailing list