]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
mpegts input: introduce linuxdvb_filter_close()
authorJaroslav Kysela <perex@perex.cz>
Mon, 15 Dec 2014 14:42:10 +0000 (15:42 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 15 Dec 2014 14:42:10 +0000 (15:42 +0100)
src/input/mpegts.h
src/input/mpegts/linuxdvb/linuxdvb_frontend.c
src/input/mpegts/mpegts_input.c
src/input/mpegts/mpegts_mux.c

index 2a000fa014462c129cc96e93fd90165b76d4b741..ac2088e9b248ae6ff98494991c002f1c2b5806ea 100644 (file)
@@ -925,6 +925,15 @@ LIST_HEAD(,mpegts_listener) mpegts_listeners;
     if (ml->op) ml->op(t, ml->ml_opaque);\
 } (void)0
 
+/*
+ * Misc
+ */
+#if ENABLE_LINUXDVB
+void linuxdvb_filter_close ( int fd );
+#else
+static inline void linuxdvb_filter_close ( int fd ) { assert(0); };
+#endif
+
 #endif /* __TVH_MPEGTS_H__ */
 
 /******************************************************************************
index 641af7db76357b2b3425e0a4f33ea0accddc2673..8eb286f4f0eab9e35f6146e4647250bfbe501c7d 100644 (file)
@@ -334,6 +334,13 @@ linuxdvb_frontend_start_mux
   return res;
 }
 
+void
+linuxdvb_filter_close
+  ( int fd )
+{
+  close(fd);
+}
+
 static void
 linuxdvb_frontend_open_pid0
   ( linuxdvb_frontend_t *lfe, mpegts_pid_t *mp )
index 33e808562908a473060c5026a6b4ae033db9862d..d65ff98fc3bb3a13bc1ba2af9b445d58e2c8c001 100644 (file)
@@ -385,7 +385,7 @@ mpegts_input_close_pid
     if (!RB_FIRST(&mp->mp_subs)) {
       RB_REMOVE(&mm->mm_pids, mp, mp_link);
       if (mp->mp_fd != -1)
-        close(mp->mp_fd);
+        linuxdvb_filter_close(mp->mp_fd);
       free(mp);
     }
   }
index ba11b0447d0b7bec0c36c1825ba69c55d516352f..46e16816b6ebea1a3b421aa705371791a837bc0f 100644 (file)
@@ -727,7 +727,7 @@ mpegts_mux_stop ( mpegts_mux_t *mm, int force )
     }
     RB_REMOVE(&mm->mm_pids, mp, mp_link);
     if (mp->mp_fd != -1)
-      close(mp->mp_fd);
+      linuxdvb_filter_close(mp->mp_fd);
     free(mp);
   }
   pthread_mutex_unlock(&mi->mi_output_lock);