From 9bcbe04aa0abb6b09b687f6e63c391b13503ffff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9on=20Spaans?= Date: Sun, 12 Nov 2023 11:17:30 +0800 Subject: [PATCH] avformat/hlsenc: set HTTP options before writing WebVTT HLS playlists MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: Erroneous HTTP POST instead of HTTP PUT for WebVTT HLS variant playlists. Signed-off-by: Léon Spaans Signed-off-by: Steven Liu --- libavformat/hlsenc.c | 9 +++++++-- 1 file 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;