mirror of https://git.ffmpeg.org/ffmpeg.git
avformat/segment: Clear contexts after deallocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
2a741baeff
commit
e2404096b0
|
@ -357,7 +357,7 @@ static int segment_end(AVFormatContext *s, int write_trailer, int is_last)
|
||||||
av_freep(&entry);
|
av_freep(&entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
avio_close(seg->list_pb);
|
avio_closep(&seg->list_pb);
|
||||||
if ((ret = segment_list_open(s)) < 0)
|
if ((ret = segment_list_open(s)) < 0)
|
||||||
goto end;
|
goto end;
|
||||||
for (entry = seg->segment_list_entries; entry; entry = entry->next)
|
for (entry = seg->segment_list_entries; entry; entry = entry->next)
|
||||||
|
@ -375,7 +375,7 @@ static int segment_end(AVFormatContext *s, int write_trailer, int is_last)
|
||||||
seg->segment_count++;
|
seg->segment_count++;
|
||||||
|
|
||||||
end:
|
end:
|
||||||
avio_close(oc->pb);
|
avio_closep(&oc->pb);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -688,7 +688,7 @@ static int seg_write_header(AVFormatContext *s)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
avio_close(oc->pb);
|
avio_closep(&oc->pb);
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
seg->segment_frame_count = 0;
|
seg->segment_frame_count = 0;
|
||||||
|
@ -849,7 +849,7 @@ static int seg_write_trailer(struct AVFormatContext *s)
|
||||||
}
|
}
|
||||||
fail:
|
fail:
|
||||||
if (seg->list)
|
if (seg->list)
|
||||||
avio_close(seg->list_pb);
|
avio_closep(&seg->list_pb);
|
||||||
|
|
||||||
av_dict_free(&seg->format_options);
|
av_dict_free(&seg->format_options);
|
||||||
av_opt_free(seg);
|
av_opt_free(seg);
|
||||||
|
@ -865,6 +865,7 @@ fail:
|
||||||
}
|
}
|
||||||
|
|
||||||
avformat_free_context(oc);
|
avformat_free_context(oc);
|
||||||
|
seg->avf = NULL;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue