]> 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:29:16 +0000 (17:29 +0100)
src/muxer/muxer_libav.c

index 683ddfae6b9960ba9c9917c4f76383690273a0d4..725a9c8a1aa83959aec0bbc38955c4931cc00cde 100644 (file)
@@ -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;