lavf/utils: avoid using programs for duration when there's only one
authorRodger Combs <rodger.combs@gmail.com>
Wed, 5 Oct 2016 11:38:24 +0000 (06:38 -0500)
committerRodger Combs <rodger.combs@gmail.com>
Thu, 6 Oct 2016 06:36:05 +0000 (01:36 -0500)
This allows us to be more selective about the streams we derive durations from
(specifically, ignoring text streams with outlier end times) in the common case

libavformat/utils.c

index d19cc5e..1aa3b50 100644 (file)
@@ -2582,7 +2582,7 @@ static void update_stream_timings(AVFormatContext *ic)
     if (start_time != INT64_MAX) {
         ic->start_time = start_time;
         if (end_time != INT64_MIN) {
     if (start_time != INT64_MAX) {
         ic->start_time = start_time;
         if (end_time != INT64_MIN) {
-            if (ic->nb_programs) {
+            if (ic->nb_programs > 1) {
                 for (i = 0; i < ic->nb_programs; i++) {
                     p = ic->programs[i];
                     if (p->start_time != AV_NOPTS_VALUE && p->end_time > p->start_time)
                 for (i = 0; i < ic->nb_programs; i++) {
                     p = ic->programs[i];
                     if (p->start_time != AV_NOPTS_VALUE && p->end_time > p->start_time)