[FFmpeg-cvslog] ffmpeg: ignore forward gaps for subtitles streams.

Nicolas George git at videolan.org
Mon Aug 22 10:20:37 CEST 2011


ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Tue Aug 16 15:49:17 2011 +0200| [5fa98ab42d221c294b0b35ad3d2f6dd3170cc594] | committer: Nicolas George

ffmpeg: ignore forward gaps for subtitles streams.

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

 ffmpeg.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 8e2c29f..e305948 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -2797,7 +2797,10 @@ static int transcode(AVFormatContext **output_files,
             && (is->iformat->flags & AVFMT_TS_DISCONT)) {
             int64_t pkt_dts= av_rescale_q(pkt.dts, ist->st->time_base, AV_TIME_BASE_Q);
             int64_t delta= pkt_dts - ist->next_pts;
-            if((FFABS(delta) > 1LL*dts_delta_threshold*AV_TIME_BASE || pkt_dts+1<ist->pts)&& !copy_ts){
+            if((delta < -1LL*dts_delta_threshold*AV_TIME_BASE ||
+                (delta > 1LL*dts_delta_threshold*AV_TIME_BASE &&
+                 ist->st->codec->codec_type != AVMEDIA_TYPE_SUBTITLE) ||
+                pkt_dts+1<ist->pts)&& !copy_ts){
                 input_files[ist->file_index].ts_offset -= delta;
                 if (verbose > 2)
                     fprintf(stderr, "timestamp discontinuity %"PRId64", new offset= %"PRId64"\n",



More information about the ffmpeg-cvslog mailing list