Fixes: Erroneous HTTP POST instead of HTTP PUT for WebVTT HLS variant playlists.

Signed-off-by: Léon Spaans <le...@gridpoint.nl>
---
libavformat/hlsenc.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 08f3746ce7..8f7eee202e 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -1580,7 +1580,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;
@@ -1635,8 +1637,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;
-- 
2.40.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to