]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
mpegts: fix display name bug and looks like mux arbitration is currently still broken
authorAdam Sutton <dev@adamsutton.me.uk>
Sat, 1 Jun 2013 13:07:01 +0000 (14:07 +0100)
committerAdam Sutton <dev@adamsutton.me.uk>
Sat, 1 Jun 2013 13:07:01 +0000 (14:07 +0100)
src/input/mpegts/linuxdvb/linuxdvb_frontend.c
src/input/mpegts/mpegts_input.c
src/input/mpegts/mpegts_mux.c

index 16ed31b35d4ed2cac63191afd37cde50993590fd..3744bf639816d4a4979d624566b7d902e16f216d 100644 (file)
@@ -140,6 +140,13 @@ linuxdvb_frontend_is_enabled ( mpegts_input_t *mi )
   return 1;
 }
 
+static void
+linuxdvb_frontend_display_name ( mpegts_input_t* mi, char *buf, size_t len )
+{
+  linuxdvb_frontend_t *lfe = (linuxdvb_frontend_t*)mi;
+  strncpy(buf, lfe->lh_displayname ?: "unknown", len);
+}
+
 #if 0
 static int
 linuxdvb_frontend_is_free ( mpegts_input_t *mi )
@@ -466,6 +473,7 @@ linuxdvb_frontend_create0
   lfe->lfe_info.type = type;
 
   /* Input callbacks */
+  lfe->mi_display_name   = linuxdvb_frontend_display_name;
   lfe->mi_is_enabled     = linuxdvb_frontend_is_enabled;
   lfe->mi_start_mux      = linuxdvb_frontend_start_mux;
   lfe->mi_stop_mux       = linuxdvb_frontend_stop_mux;
index 285efa125c7fb75a9602aa7e4e28f223aea833a5..7747df7a996df5dbaedae7cab82814ae5b7f7c2e 100644 (file)
@@ -34,6 +34,12 @@ const idclass_t mpegts_input_class =
   }
 };
 
+static void
+mpegts_input_display_name ( mpegts_input_t *mi, char *buf, size_t len )
+{
+  *buf = 0;
+}
+
 static void
 mpegts_input_open_service ( mpegts_input_t *mi, mpegts_service_t *s )
 {
@@ -225,6 +231,7 @@ mpegts_input_create0
   mi->mi_is_enabled     = mpegts_input_is_enabled;
   mi->mi_is_free        = mpegts_input_is_free;
   mi->mi_current_weight = mpegts_input_current_weight;
+  mi->mi_display_name   = mpegts_input_display_name;
 
   /* Init mutex */
   pthread_mutex_init(&mi->mi_delivery_mutex, NULL);
index 05a91d0ba09530154efbe2c7be9e2b2e73b12d0f..9a2a32a13fcc21fdd900f60c5ab14ca3c49afe79 100644 (file)
@@ -156,6 +156,7 @@ mpegts_mux_start ( mpegts_mux_t *mm, const char *reason, int weight )
 
     /* Try and remove a lesser instance */
     if (!mmi) {
+#if 0
       LIST_FOREACH(mmi, &mm->mm_instances, mmi_mux_link) {
 
         /* Bad - skip */
@@ -166,6 +167,7 @@ mpegts_mux_start ( mpegts_mux_t *mm, const char *reason, int weight )
         if (weight > mmi->mmi_input->mi_current_weight(mmi->mmi_input))
           break;
       }
+#endif
 
       if (mmi)
         tvhtrace("mpegts", "%s - found mmi %p to boot", buf, mmi);