avconv: Use only audio and video to guess discontinuities
authorLuca Barbato <lu_zero@gentoo.org>
Sat, 13 Sep 2014 00:00:32 +0000 (02:00 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Fri, 26 Sep 2014 18:56:16 +0000 (20:56 +0200)
Data and subtitle streams might cause false positive.

avconv.c

index 634101a..7dd335e 100644 (file)
--- a/avconv.c
+++ b/avconv.c
@@ -2420,7 +2420,9 @@ static int process_input(void)
     if (pkt.dts != AV_NOPTS_VALUE)
         pkt.dts *= ist->ts_scale;
 
-    if (pkt.dts != AV_NOPTS_VALUE && ist->next_dts != AV_NOPTS_VALUE &&
+    if ((ist->dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO ||
+         ist->dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) &&
+        pkt.dts != AV_NOPTS_VALUE && ist->next_dts != AV_NOPTS_VALUE &&
         (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_dts;