mpegts: fix display name bug and looks like mux arbitration is currently still broken

This commit is contained in:
Adam Sutton 2013-06-01 14:07:01 +01:00
parent 37f64806d7
commit ff3bc4c35a
3 changed files with 17 additions and 0 deletions

View 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;

View 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);

View 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);