Thanks Steven!
libavformat/hlsenc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 08f3746ce7..150320a880 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);this should modify as: snprintf(temp_filename, sizeof(temp_filename), use_temp_file ? "%s.tmp" : "%s", vs->m3u8_name); 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; } Because there have one goto fail when hlsenc_io_open failed;
Fixing this as well indeed seems better!
for (en = vs->segments; en; en = en->next) { if (target_duration <= en->duration) @@ -1635,8 +1636,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->avf, &options, hls);should this set vs->vtt_avf ? maybe subtitle of webvtt should use vs->vtt_avf, is it?
Using `vs->vtt_avf` makes more sense here indeed.
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; --
I have changed the patch accordingly and will resend. Léon _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
