Use the hls_close function to reduce code duplication. Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> --- libavformat/hls.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-)
diff --git a/libavformat/hls.c b/libavformat/hls.c index 2bf86fa..3ae3c7c 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -1593,6 +1593,19 @@ static void update_noheader_flag(AVFormatContext *s) s->ctx_flags &= ~AVFMTCTX_NOHEADER; } +static int hls_close(AVFormatContext *s) +{ + HLSContext *c = s->priv_data; + + free_playlist_list(c); + free_variant_list(c); + free_rendition_list(c); + + av_dict_free(&c->avio_opts); + + return 0; +} + static int hls_read_header(AVFormatContext *s) { void *u = (s->flags & AVFMT_FLAG_CUSTOM_IO) ? NULL : s->pb; @@ -1794,9 +1807,7 @@ static int hls_read_header(AVFormatContext *s) return 0; fail: - free_playlist_list(c); - free_variant_list(c); - free_rendition_list(c); + hls_close(s); return ret; } @@ -2013,19 +2024,6 @@ static int hls_read_packet(AVFormatContext *s, AVPacket *pkt) return AVERROR_EOF; } -static int hls_close(AVFormatContext *s) -{ - HLSContext *c = s->priv_data; - - free_playlist_list(c); - free_variant_list(c); - free_rendition_list(c); - - av_dict_free(&c->avio_opts); - - return 0; -} - static int hls_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int flags) { -- 2.10.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel