From d6d407d2d758b404af0ce6a8ff46bf164db020a1 Mon Sep 17 00:00:00 2001 From: "kjeyapal@akamai.com" Date: Sun, 21 Oct 2018 14:10:48 +0530 Subject: [PATCH] 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. --- 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)