From ff3bc4c35acdd9b82eb614ef4df00b4538ddd10c Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Sat, 1 Jun 2013 14:07:01 +0100 Subject: [PATCH] mpegts: fix display name bug and looks like mux arbitration is currently still broken --- src/input/mpegts/linuxdvb/linuxdvb_frontend.c | 8 ++++++++ src/input/mpegts/mpegts_input.c | 7 +++++++ src/input/mpegts/mpegts_mux.c | 2 ++ 3 files changed, 17 insertions(+) diff --git a/src/input/mpegts/linuxdvb/linuxdvb_frontend.c b/src/input/mpegts/linuxdvb/linuxdvb_frontend.c index 16ed31b3..3744bf63 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_frontend.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_frontend.c @@ -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; diff --git a/src/input/mpegts/mpegts_input.c b/src/input/mpegts/mpegts_input.c index 285efa12..7747df7a 100644 --- a/src/input/mpegts/mpegts_input.c +++ b/src/input/mpegts/mpegts_input.c @@ -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); diff --git a/src/input/mpegts/mpegts_mux.c b/src/input/mpegts/mpegts_mux.c index 05a91d0b..9a2a32a1 100644 --- a/src/input/mpegts/mpegts_mux.c +++ b/src/input/mpegts/mpegts_mux.c @@ -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);