diff --git a/libavformat/segment.c b/libavformat/segment.c index a3e49f4a80..43be9a27a5 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -230,12 +230,6 @@ static int segment_list_open(AVFormatContext *s) return ret; } -static void segment_list_close(AVFormatContext *s) -{ - SegmentContext *seg = s->priv_data; - avio_close(seg->list_pb); -} - static void segment_list_print_entry(AVIOContext *list_ioctx, ListType list_type, const SegmentListEntry *list_entry) @@ -295,7 +289,7 @@ static int segment_end(AVFormatContext *s, int write_trailer, int is_last) av_freep(&entry); } - segment_list_close(s); + avio_close(seg->list_pb); if ((ret = segment_list_open(s)) < 0) goto end; for (entry = seg->segment_list_entries; entry; entry = entry->next) @@ -627,7 +621,7 @@ static int seg_write_header(AVFormatContext *s) fail: if (ret) { if (seg->list) - segment_list_close(s); + avio_close(seg->list_pb); if (seg->avf) avformat_free_context(seg->avf); } @@ -739,7 +733,7 @@ static int seg_write_trailer(struct AVFormatContext *s) } fail: if (seg->list) - segment_list_close(s); + avio_close(seg->list_pb); av_opt_free(seg); av_freep(&seg->times);