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:
parent
ebff4bbd82
commit
1a109fba54
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user