[FFmpeg-devel] [PATCH] avformat/concat: Fix wrong wrapped timestamp

mymoeyard at gmail.com mymoeyard at gmail.com
Thu Dec 14 10:00:50 EET 2017


From: wu zhiqiang <mymoeyard at gmail.com>

When using concat protocal, start from middle of file will generate non-zero wrap reference. If seek to time less than the wrap reference, wrap control will be triggered and generate wrong wrapped timestamp.
Copy wrap related stream properties when reading header can fix this problem.

Signed-off-by: wu zhiqiang <mymoeyard at gmail.com>
---
 libavformat/concatdec.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c
index 0e189012ad..e933888661 100644
--- a/libavformat/concatdec.c
+++ b/libavformat/concatdec.c
@@ -188,6 +188,11 @@ static int copy_stream_props(AVStream *st, AVStream *source_st)
     st->time_base           = source_st->time_base;
     st->sample_aspect_ratio = source_st->sample_aspect_ratio;
 
+    /* Fix wrap control problem */
+    st->pts_wrap_bits       = source_st->pts_wrap_bits;
+    st->pts_wrap_behavior   = source_st->pts_wrap_behavior;
+    st->pts_wrap_reference  = source_st->pts_wrap_reference;
+
     av_dict_copy(&st->metadata, source_st->metadata, 0);
     return 0;
 }
-- 
2.15.0



More information about the ffmpeg-devel mailing list