[FFmpeg-devel] [PATCH] libavformat/hlsenc: set HTTP options before writing WebVTT HLS playlists

Léon Spaans leons at gridpoint.nl
Sun Oct 1 12:38:05 EEST 2023


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

Signed-off-by: Léon Spaans <leons at gridpoint.nl>
---
  libavformat/hlsenc.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 08f3746ce7..c956f11ed5 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -1585,6 +1585,7 @@ static int hls_window(AVFormatContext *s, int 
last, VariantStream *vs)
              ret = 0;
          goto fail;
      }
+    av_dict_free(&options);
       for (en = vs->segments; en; en = en->next) {
          if (target_duration <= en->duration)
@@ -1635,12 +1636,14 @@ 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->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) {
              if (hls->ignore_io_errors)
                  ret = 0;
              goto fail;
          }
+        av_dict_free(&options);
          ff_hls_write_playlist_header(hls->sub_m3u8_out, hls->version, 
hls->allowcache,
                                       target_duration, sequence, 
PLAYLIST_TYPE_NONE, 0);
          for (en = vs->segments; en; en = en->next) {
-- 
2.40.1



More information about the ffmpeg-devel mailing list