[FFmpeg-cvslog] dashenc: Reduce the segment duration if cutting out parts with edit lists

Martin Storsjö git at videolan.org
Mon May 11 02:10:02 CEST 2015


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Sun May 10 10:05:37 2015 +0300| [b8d2630c5327d2818d05c8a48be0417905d8e0fd] | committer: Martin Storsjö

dashenc: Reduce the segment duration if cutting out parts with edit lists

This makes sure that the time + duration of the first segment
matches the start time of the next segment for e.g. AAC audio
with encoder delay.

Signed-off-by: Martin Storsjö <martin at martin.st>

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

 libavformat/dashenc.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index f228b86..cedd83b 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -696,9 +696,11 @@ static int add_segment(OutputStream *os, const char *file,
         return AVERROR(ENOMEM);
     av_strlcpy(seg->file, file, sizeof(seg->file));
     seg->time = time;
-    if (seg->time < 0) // If pts<0, it is expected to be cut away with an edit list
-        seg->time = 0;
     seg->duration = duration;
+    if (seg->time < 0) { // If pts<0, it is expected to be cut away with an edit list
+        seg->duration += seg->time;
+        seg->time = 0;
+    }
     seg->start_pos = start_pos;
     seg->range_length = range_length;
     seg->index_length = index_length;



More information about the ffmpeg-cvslog mailing list