@@ -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);
}
@@ -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,
@@ -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,
From: Karthick Jeyapal <kjeyapal@akamai.com> --- libavformat/hlsenc.c | 2 +- libavformat/hlsplaylist.c | 5 +++-- libavformat/hlsplaylist.h | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-)