diff options
author | Karthick Jeyapal <kjeyapal@akamai.com> | 2017-12-29 13:45:31 +0800 |
---|---|---|
committer | Steven Liu <lq@chinaffmpeg.org> | 2017-12-29 13:45:31 +0800 |
commit | 9e25fe420410c0e1b77cc68f53cc0cd2f79ba30a (patch) | |
tree | 67ffc04c8091fa5cffd74df29acf0f546a2423c3 | |
parent | d01eeef4a2297dcc1fd9f125bed6bd8d1bed3b29 (diff) | |
download | ffmpeg-9e25fe420410c0e1b77cc68f53cc0cd2f79ba30a.tar.gz |
avformat/hlsenc: Modularized audio rendition playlist write to allow reuse
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
-rw-r--r-- | libavformat/hlsenc.c | 6 | ||||
-rw-r--r-- | libavformat/hlsplaylist.c | 9 | ||||
-rw-r--r-- | libavformat/hlsplaylist.h | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 74f66ce6bd..fe531fb43d 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -1169,10 +1169,8 @@ static int create_master_playlist(AVFormatContext *s, goto fail; } - avio_printf(hls->m3u8_out, "#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=\"group_%s\"", - vs->agroup); - avio_printf(hls->m3u8_out, ",NAME=\"audio_0\",DEFAULT=YES,URI=\"%s\"\n", - m3u8_rel_name); + ff_hls_write_audio_rendition(hls->m3u8_out, vs->agroup, m3u8_rel_name); + av_freep(&m3u8_rel_name); } diff --git a/libavformat/hlsplaylist.c b/libavformat/hlsplaylist.c index 42f059aec9..a065eda59d 100644 --- a/libavformat/hlsplaylist.c +++ b/libavformat/hlsplaylist.c @@ -35,6 +35,15 @@ void ff_hls_write_playlist_version(AVIOContext *out, int version) { avio_printf(out, "#EXT-X-VERSION:%d\n", version); } +void ff_hls_write_audio_rendition(AVIOContext *out, char *agroup, + char *filename) { + 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); +} + void ff_hls_write_stream_info(AVStream *st, AVIOContext *out, int bandwidth, char *filename, char *agroup) { if (!out || !filename) diff --git a/libavformat/hlsplaylist.h b/libavformat/hlsplaylist.h index ac03550651..518cfc256b 100644 --- a/libavformat/hlsplaylist.h +++ b/libavformat/hlsplaylist.h @@ -37,6 +37,7 @@ 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_stream_info(AVStream *st, AVIOContext *out, int bandwidth, char *filename, char *agroup); void ff_hls_write_playlist_header(AVIOContext *out, int version, int allowcache, |