From 8fd2bdd07207cc7e055915f470302596bcfebeea Mon Sep 17 00:00:00 2001 From: Karthick Jeyapal Date: Fri, 29 Dec 2017 13:47:12 +0800 Subject: [PATCH] avformat/hlsplaylist: Audio rendition's name and defaultness made configurable Reviewed-by: Steven Liu --- libavformat/hlsenc.c | 2 +- libavformat/hlsplaylist.c | 5 +++-- libavformat/hlsplaylist.h | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index fe531fb43d..5cff3b4bf6 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -1169,7 +1169,7 @@ static int create_master_playlist(AVFormatContext *s, goto fail; } - ff_hls_write_audio_rendition(hls->m3u8_out, vs->agroup, m3u8_rel_name); + ff_hls_write_audio_rendition(hls->m3u8_out, vs->agroup, m3u8_rel_name, 0, 1); av_freep(&m3u8_rel_name); } diff --git a/libavformat/hlsplaylist.c b/libavformat/hlsplaylist.c index a065eda59d..098dc89170 100644 --- a/libavformat/hlsplaylist.c +++ b/libavformat/hlsplaylist.c @@ -36,12 +36,13 @@ void ff_hls_write_playlist_version(AVIOContext *out, int version) { } void ff_hls_write_audio_rendition(AVIOContext *out, char *agroup, - char *filename) { + char *filename, int name_id, int is_default) { if (!out || !agroup || !filename) return; avio_printf(out, "#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=\"group_%s\"", agroup); - avio_printf(out, ",NAME=\"audio_0\",DEFAULT=YES,URI=\"%s\"\n", filename); + avio_printf(out, ",NAME=\"audio_%d\",DEFAULT=%s,URI=\"%s\"\n", name_id, + is_default ? "YES" : "NO", filename); } void ff_hls_write_stream_info(AVStream *st, AVIOContext *out, diff --git a/libavformat/hlsplaylist.h b/libavformat/hlsplaylist.h index 518cfc256b..9969315e00 100644 --- a/libavformat/hlsplaylist.h +++ b/libavformat/hlsplaylist.h @@ -37,7 +37,8 @@ typedef enum { } PlaylistType; void ff_hls_write_playlist_version(AVIOContext *out, int version); -void ff_hls_write_audio_rendition(AVIOContext *out, char *agroup, char *filename); +void ff_hls_write_audio_rendition(AVIOContext *out, char *agroup, + char *filename, int name_id, int is_default); void ff_hls_write_stream_info(AVStream *st, AVIOContext *out, int bandwidth, char *filename, char *agroup); void ff_hls_write_playlist_header(AVIOContext *out, int version, int allowcache,