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

Steven Liu lingjiujianke at gmail.com
Sun Oct 1 15:43:01 EEST 2023


Léon Spaans <leons at 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 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;
>           }

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 at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-devel mailing list