From: Jaroslav Kysela Date: Wed, 8 Nov 2017 08:22:18 +0000 (+0100) Subject: libav muxer: fix the close sequence for live file descriptors, issue #4704, fixes... X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=aefc4d0608f2c3ff5b60193eb66544365ad8e678;p=thirdparty%2Ftvheadend.git libav muxer: fix the close sequence for live file descriptors, issue #4704, fixes #4712 --- diff --git a/src/muxer/muxer_libav.c b/src/muxer/muxer_libav.c index 725a9c8a1..76aefe566 100644 --- a/src/muxer/muxer_libav.c +++ b/src/muxer/muxer_libav.c @@ -401,6 +401,7 @@ lav_muxer_open_file(muxer_t *m, const char *filename) char buf[256]; int r; + lm->lm_fd = -1; oc = lm->lm_oc; snprintf(oc->filename, sizeof(oc->filename), "%s", filename); @@ -566,8 +567,13 @@ lav_muxer_close(muxer_t *m) } oc = lm->lm_oc; - avio_close(oc->pb); - oc->pb=NULL; + if (lm->lm_fd >= 0) { + av_freep(&oc->pb->buffer); + avio_context_free(&oc->pb); + lm->lm_fd = -1; + } else { + avio_closep(&oc->pb); + } return ret; }