[FFmpeg-cvslog] avformat/dashenc: Disable writing CODECS tag for HEVC streams

kjeyapal@akamai.com git at videolan.org
Fri Nov 2 03:58:07 EET 2018


ffmpeg | branch: master | kjeyapal at akamai.com <kjeyapal at akamai.com> | Sun Oct 21 14:28:48 2018 +0530| [d6d407d2d758b404af0ce6a8ff46bf164db020a1] | committer: Karthick J

avformat/dashenc: Disable writing CODECS tag for HEVC streams

For HEVC streams, only the FourCC tag is written without profile, level etc.,
This is breaking playout support in native Safari.
Native Safari playout expects the full info in CODECS tag or None at all.

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

 libavformat/dashenc.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 4e2ea2ebf2..f8b3d106d5 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -915,6 +915,7 @@ static int write_manifest(AVFormatContext *s, int final)
             AVStream *st = s->streams[i];
             OutputStream *os = &c->streams[i];
             char *agroup = NULL;
+            char *codec_str_ptr = NULL;
             int stream_bitrate = st->codecpar->bit_rate + os->muxer_overhead;
             if (st->codecpar->codec_type != AVMEDIA_TYPE_VIDEO)
                 continue;
@@ -925,10 +926,13 @@ static int write_manifest(AVFormatContext *s, int final)
                 av_strlcat(codec_str, ",", sizeof(codec_str));
                 av_strlcat(codec_str, audio_codec_str, sizeof(codec_str));
             }
+            if (st->codecpar->codec_id != AV_CODEC_ID_HEVC) {
+                codec_str_ptr = codec_str;
+            }
             get_hls_playlist_name(playlist_file, sizeof(playlist_file), NULL, i);
             ff_hls_write_stream_info(st, c->m3u8_out, stream_bitrate,
                                      playlist_file, agroup,
-                                     codec_str, NULL);
+                                     codec_str_ptr, NULL);
         }
         dashenc_io_close(s, &c->m3u8_out, temp_filename);
         if (use_rename)



More information about the ffmpeg-cvslog mailing list