You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
avformat/hlsenc: move freep segment from sls_flags_filename_process after caller failed
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
This commit is contained in:
@@ -889,7 +889,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls
|
|||||||
strlen(vs->current_segment_final_filename_fmt)) {
|
strlen(vs->current_segment_final_filename_fmt)) {
|
||||||
char * new_url = av_strdup(vs->current_segment_final_filename_fmt);
|
char * new_url = av_strdup(vs->current_segment_final_filename_fmt);
|
||||||
if (!new_url) {
|
if (!new_url) {
|
||||||
av_freep(&en);
|
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
}
|
}
|
||||||
ff_format_set_url(vs->avf, new_url);
|
ff_format_set_url(vs->avf, new_url);
|
||||||
@@ -901,7 +900,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls
|
|||||||
"you can try to remove second_level_segment_size flag\n",
|
"you can try to remove second_level_segment_size flag\n",
|
||||||
vs->avf->url);
|
vs->avf->url);
|
||||||
av_freep(&filename);
|
av_freep(&filename);
|
||||||
av_freep(&en);
|
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
ff_format_set_url(vs->avf, filename);
|
ff_format_set_url(vs->avf, filename);
|
||||||
@@ -915,7 +913,6 @@ static int sls_flags_filename_process(struct AVFormatContext *s, HLSContext *hls
|
|||||||
"you can try to remove second_level_segment_time flag\n",
|
"you can try to remove second_level_segment_time flag\n",
|
||||||
vs->avf->url);
|
vs->avf->url);
|
||||||
av_freep(&filename);
|
av_freep(&filename);
|
||||||
av_freep(&en);
|
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
ff_format_set_url(vs->avf, filename);
|
ff_format_set_url(vs->avf, filename);
|
||||||
@@ -1037,6 +1034,7 @@ static int hls_append_segment(struct AVFormatContext *s, HLSContext *hls,
|
|||||||
en->var_stream_idx = vs->var_stream_idx;
|
en->var_stream_idx = vs->var_stream_idx;
|
||||||
ret = sls_flags_filename_process(s, hls, vs, en, duration, pos, size);
|
ret = sls_flags_filename_process(s, hls, vs, en, duration, pos, size);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
av_freep(&en);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user