[FFmpeg-devel,V2,3/5] lavf/utils: correct the duration estimation method for nut demuxer

Submitted by Jun Zhao on Sept. 29, 2019, 9:27 a.m.

Details

Message ID 1569749274-13151-4-git-send-email-mypopydev@gmail.com
State New
Headers show

Commit Message

Jun Zhao Sept. 29, 2019, 9:27 a.m.
From: Jun Zhao <barryjzhao@tencent.com>

in fact, nut demuxer use the PTS for duration estimation.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
---
 libavformat/utils.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

Patch hide | download patch | download mbox

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 07f02a7..9d69e3a 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2956,7 +2956,11 @@  static void estimate_timings(AVFormatContext *ic, int64_t old_offset)
         /* at least one component has timings - we use them for all
          * the components */
         fill_all_stream_timings(ic);
-        ic->duration_estimation_method = AVFMT_DURATION_FROM_STREAM;
+        /* nut demuxer estimate the duration from PTS */
+        if(!strcmp(ic->iformat->name, "nut"))
+            ic->duration_estimation_method = AVFMT_DURATION_FROM_PTS;
+        else
+            ic->duration_estimation_method = AVFMT_DURATION_FROM_STREAM;
     } else {
         /* less precise: use bitrate info */
         estimate_timings_from_bit_rate(ic);