|
@@ -189,6 +189,7 @@ typedef struct VariantStream {
|
|
|
const char *sgroup; /* subtitle group name */
|
|
|
const char *ccgroup; /* closed caption group name */
|
|
|
const char *varname; /* variant name */
|
|
|
+ const char *subtitle_varname; /* subtitle variant name */
|
|
|
} VariantStream;
|
|
|
|
|
|
typedef struct ClosedCaptionsStream {
|
|
@@ -1563,7 +1564,8 @@ static int create_master_playlist(AVFormatContext *s,
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
- ff_hls_write_subtitle_rendition(hls->m3u8_out, sgroup, vtt_m3u8_rel_name, vs->language, i, hls->has_default_key ? vs->is_default : 1);
|
|
|
+ ff_hls_write_subtitle_rendition(hls->m3u8_out, sgroup, vtt_m3u8_rel_name, vs->language,
|
|
|
+ vs->subtitle_varname, i, hls->has_default_key ? vs->is_default : 1);
|
|
|
}
|
|
|
|
|
|
if (!hls->has_default_key || !hls->has_video_m3u8) {
|
|
@@ -2137,6 +2139,9 @@ static int parse_variant_stream_mapstring(AVFormatContext *s)
|
|
|
} else if (av_strstart(keyval, "name:", &val)) {
|
|
|
vs->varname = val;
|
|
|
continue;
|
|
|
+ } else if (av_strstart(keyval, "sname:", &val)) {
|
|
|
+ vs->subtitle_varname = val;
|
|
|
+ continue;
|
|
|
} else if (av_strstart(keyval, "agroup:", &val)) {
|
|
|
vs->agroup = val;
|
|
|
continue;
|