aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/hlsenc.c
diff options
context:
space:
mode:
authorLéon Spaans <leons@gridpoint.nl>2023-11-12 11:17:30 +0800
committerSteven Liu <lq@chinaffmpeg.org>2023-11-12 11:19:31 +0800
commit9bcbe04aa0abb6b09b687f6e63c391b13503ffff (patch)
treeca81413ebe8366c16a5cc131811efea8974bd75d /libavformat/hlsenc.c
parent3ff811a41fd5fb53d7fb0a576a9a07ce10bed135 (diff)
downloadffmpeg-9bcbe04aa0abb6b09b687f6e63c391b13503ffff.tar.gz
avformat/hlsenc: set HTTP options before writing WebVTT HLS playlists
Fixes: Erroneous HTTP POST instead of HTTP PUT for WebVTT HLS variant playlists. Signed-off-by: Léon Spaans <leons@gridpoint.nl> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
Diffstat (limited to 'libavformat/hlsenc.c')
-rw-r--r--libavformat/hlsenc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 4ef84c05c1..fa2f3946e9 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -1581,7 +1581,9 @@ static int hls_window(AVFormatContext *s, int last, VariantStream *vs)
set_http_options(s, &options, hls);
snprintf(temp_filename, sizeof(temp_filename), use_temp_file ? "%s.tmp" : "%s", vs->m3u8_name);
- if ((ret = hlsenc_io_open(s, byterange_mode ? &hls->m3u8_out : &vs->out, temp_filename, &options)) < 0) {
+ ret = hlsenc_io_open(s, byterange_mode ? &hls->m3u8_out : &vs->out, temp_filename, &options);
+ av_dict_free(&options);
+ if (ret < 0) {
if (hls->ignore_io_errors)
ret = 0;
goto fail;
@@ -1636,8 +1638,11 @@ static int hls_window(AVFormatContext *s, int last, VariantStream *vs)
ff_hls_write_end_list(byterange_mode ? hls->m3u8_out : vs->out);
if (vs->vtt_m3u8_name) {
+ set_http_options(vs->vtt_avf, &options, hls);
snprintf(temp_vtt_filename, sizeof(temp_vtt_filename), use_temp_file ? "%s.tmp" : "%s", vs->vtt_m3u8_name);
- if ((ret = hlsenc_io_open(s, &hls->sub_m3u8_out, temp_vtt_filename, &options)) < 0) {
+ ret = hlsenc_io_open(s, &hls->sub_m3u8_out, temp_vtt_filename, &options);
+ av_dict_free(&options);
+ if (ret < 0) {
if (hls->ignore_io_errors)
ret = 0;
goto fail;