diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 0525e70b30..e13f438a2f 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -389,9 +389,10 @@ static int hls_write_trailer(struct AVFormatContext *s) av_write_trailer(oc); hls->size = avio_tell(hls->avf->pb) - hls->start_pos; avio_closep(&oc->pb); - avformat_free_context(oc); av_free(hls->basename); hls_append_segment(hls, hls->duration, hls->start_pos, hls->size); + avformat_free_context(oc); + hls->avf = NULL; hls_window(s, 1); hls_free_segments(hls);