summaryrefslogtreecommitdiff
path: root/libavformat/hlsplaylist.c
diff options
context:
space:
mode:
authorSteven Liu <lq@chinaffmpeg.org>2019-01-23 19:19:49 +0800
committerSteven Liu <lq@chinaffmpeg.org>2019-01-31 16:17:11 +0800
commit1e03d600542d7e6ccd3ee94062174ae29383bef7 (patch)
tree6fa95ad3a435c14e9ab73bc595d6ca8c8889a3ec /libavformat/hlsplaylist.c
parent6a25bb5aa42285441dbe7d3372f598bb7ac7c4bf (diff)
downloadffmpeg-1e03d600542d7e6ccd3ee94062174ae29383bef7.tar.gz
avformat/hlsenc: add var_stream_map LANGUAGE field string parameter
use a:0,agroup:aud_low,default:Yes,language:CHN a:1,agroup:aud_low,language:ENG a:2,agroup:aud_high,default:YesYes,language:CHN a:3,agroup:aud_high,language:ENG v:0,agroup:aud_low v:1,agroup:aud_high create master m3u8 list. result: EXTM3U EXT-X-VERSION:3 EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_low",NAME="audio_0",DEFAULT=YES,LANGUAGE="CHN",URI="out_0.m3u8" EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_low",NAME="audio_1",DEFAULT=NO,LANGUAGE="ENG",URI="out_1.m3u8" EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_high",NAME="audio_2",DEFAULT=YES,LANGUAGE="CHN",URI="out_2.m3u8" EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="group_aud_high",NAME="audio_3",DEFAULT=NO,LANGUAGE="ENG",URI="out_3.m3u8" EXT-X-STREAM-INF:BANDWIDTH=1170400,RESOLUTION=640x480,CODECS="avc1.64001e,mp4a.40.2",AUDIO="group_aud_low" out_4.m3u8 EXT-X-STREAM-INF:BANDWIDTH=3440800,RESOLUTION=640x480,CODECS="avc1.64001e,mp4a.40.2",AUDIO="group_aud_high" out_5.m3u8 Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
Diffstat (limited to 'libavformat/hlsplaylist.c')
-rw-r--r--libavformat/hlsplaylist.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libavformat/hlsplaylist.c b/libavformat/hlsplaylist.c
index efcbff0009..0537049a97 100644
--- a/libavformat/hlsplaylist.c
+++ b/libavformat/hlsplaylist.c
@@ -36,13 +36,16 @@ void ff_hls_write_playlist_version(AVIOContext *out, int version) {
}
void ff_hls_write_audio_rendition(AVIOContext *out, char *agroup,
- char *filename, int name_id, int is_default) {
+ char *filename, char *language, 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_%d\",DEFAULT=%s,URI=\"%s\"\n", name_id,
- is_default ? "YES" : "NO", filename);
+ avio_printf(out, ",NAME=\"audio_%d\",DEFAULT=%s,", name_id, is_default ? "YES" : "NO");
+ if (language) {
+ avio_printf(out, "LANGUAGE=\"%s\",", language);
+ }
+ avio_printf(out, "URI=\"%s\"\n", filename);
}
void ff_hls_write_stream_info(AVStream *st, AVIOContext *out,