From: Jaroslav Kysela Date: Sat, 4 Nov 2017 16:29:16 +0000 (+0100) Subject: libav muxer: fix the missing file descriptor close, fixes #4704 X-Git-Tag: v4.2.5~35 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0771e346984575614b5f377b0983eb21f9c4a447;p=thirdparty%2Ftvheadend.git libav muxer: fix the missing file descriptor close, fixes #4704 --- diff --git a/src/muxer/muxer_libav.c b/src/muxer/muxer_libav.c index e62fbcdff..34265cb80 100644 --- a/src/muxer/muxer_libav.c +++ b/src/muxer/muxer_libav.c @@ -549,6 +549,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; @@ -558,6 +559,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; } @@ -582,11 +588,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;