]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
libav muxer: fix the missing file descriptor close, fixes #4704
authorJaroslav Kysela <perex@perex.cz>
Sat, 4 Nov 2017 16:29:16 +0000 (17:29 +0100)
committerJaroslav Kysela <perex@perex.cz>
Sat, 4 Nov 2017 16:30:07 +0000 (17:30 +0100)
src/muxer/muxer_libav.c

index e62fbcdffd20561a0c7832ca8ca4415b0354237f..34265cb80975b067c6e20e6f17989d8c2d820bfe 100644 (file)
@@ -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;