From aec815b39816a6568e383efba114a6deae40f50c Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sat, 4 Nov 2017 17:29:16 +0100 Subject: [PATCH] libav muxer: fix the missing file descriptor close, fixes #4704 --- src/muxer/muxer_libav.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/muxer/muxer_libav.c b/src/muxer/muxer_libav.c index 683ddfae6..725a9c8a1 100644 --- a/src/muxer/muxer_libav.c +++ b/src/muxer/muxer_libav.c @@ -554,6 +554,7 @@ lav_muxer_add_marker(muxer_t* m) static int lav_muxer_close(muxer_t *m) { + AVFormatContext *oc; int ret = 0; lav_muxer_t *lm = (lav_muxer_t*)m; @@ -563,6 +564,11 @@ lav_muxer_close(muxer_t *m) lm->m_errors++; ret = -1; } + + oc = lm->lm_oc; + avio_close(oc->pb); + oc->pb=NULL; + return ret; } @@ -587,11 +593,6 @@ lav_muxer_destroy(muxer_t *m) av_freep(&lm->lm_oc->streams[i]->codec->extradata); } - if(lm->lm_oc && lm->lm_oc->pb) { - av_freep(&lm->lm_oc->pb->buffer); - av_freep(&lm->lm_oc->pb); - } - if(lm->lm_oc) { avformat_free_context(lm->lm_oc); lm->lm_oc = NULL; -- 2.47.3