diff mbox series

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

Message ID 7d4f1cb8-2b1a-4d21-8466-e3319f0f43b0@gridpoint.nl
State New
Headers show
Series [FFmpeg-devel] libavformat/hlsenc: set HTTP options before writing WebVTT HLS playlists | expand

Checks

Context Check Description
andriy/configure_x86 warning Failed to apply patch
yinshiyou/configure_loongarch64 warning Failed to apply patch

Commit Message

Léon Spaans Oct. 1, 2023, 9:38 a.m. UTC
Fixes: Erroneous HTTP POST instead of HTTP PUT for WebVTT HLS variant 
playlists.

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

hls->allowcache,
                                       target_duration, sequence, 
PLAYLIST_TYPE_NONE, 0);
          for (en = vs->segments; en; en = en->next) {

Comments

Steven Liu Oct. 1, 2023, 12:43 p.m. UTC | #1
Léon Spaans <leons@gridpoint.nl>于2023年10月1日 周日17:38写道:

> Fixes: Erroneous HTTP POST instead of HTTP PUT for WebVTT HLS variant
> playlists.
>
> Signed-off-by: Léon Spaans <leons@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;
>           }

move ret = hlsenc_io_open out of if check, and av_dict_free immediately
after hlsenc_io_open before check ret value.

>
> +        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
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
diff mbox series

Patch

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,