From: Michael Niedermayer <[email protected]>

This extends the exception from H264 to H264 + HEVC

Fixes https://trac.ffmpeg.org/ticket/3385
---
 libavformat/utils.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index fca588b..1845b21 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -812,7 +812,8 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream 
*st,
     /* Interpolate PTS and DTS if they are not present. We skip H.264
      * currently because delay and has_b_frames are not reliably set. */
     if ((delay == 0 || (delay == 1 && pc)) &&
-        st->codec->codec_id != AV_CODEC_ID_H264) {
+        st->codec->codec_id != AV_CODEC_ID_H264 &&
+        st->codec->codec_id != AV_CODEC_ID_HEVC) {
         if (presentation_delayed) {
             /* DTS = decompression timestamp */
             /* PTS = presentation timestamp */
@@ -873,7 +874,8 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream 
*st,
         if (pkt->dts == AV_NOPTS_VALUE)
             pkt->dts = st->pts_buffer[0];
         // We skipped it above so we try here.
-        if (st->codec->codec_id == AV_CODEC_ID_H264)
+        if (st->codec->codec_id == AV_CODEC_ID_H264 ||
+            st->codec->codec_id == AV_CODEC_ID_HEVC)
             // This should happen on the first packet
             update_initial_timestamps(s, pkt->stream_index, pkt->dts, 
pkt->pts);
         if (pkt->dts > st->cur_dts)
-- 
1.8.3.2

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to