diff --git a/src/descrambler/capmt.c b/src/descrambler/capmt.c index 98237940..e7c175f0 100644 --- a/src/descrambler/capmt.c +++ b/src/descrambler/capmt.c @@ -530,7 +530,7 @@ capmt_create_udp_socket(int *socket, int port) if (bind(*socket, (const struct sockaddr*)&serv_addr, sizeof(serv_addr)) != 0) { - perror("[CapmtServer] ERROR binding to ca0"); + tvherror("capmt", "failed to bind to ca0 (port %d)", port); return 0; } else diff --git a/src/input/mpegts/linuxdvb/linuxdvb_adapter.c b/src/input/mpegts/linuxdvb/linuxdvb_adapter.c index b2fadf60..9b0e60c0 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_adapter.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_adapter.c @@ -104,6 +104,21 @@ linuxdvb_adapter_current_weight ( linuxdvb_adapter_t *la ) return 0; } +/* + * Enabled + */ +static int +linuxdvb_adapter_is_enabled ( mpegts_input_t *mi ) +{ + linuxdvb_adapter_t *la = (linuxdvb_adapter_t*)mi; + linuxdvb_hardware_t *lh; + + LIST_FOREACH(lh, &la->lh_children, lh_parent_link) + if (lh->mi_is_enabled && lh->mi_is_enabled((mpegts_input_t*)lh)) + return 1; + return 0; +} + /* * Create */ @@ -124,8 +139,9 @@ linuxdvb_adapter_create0 } LIST_INSERT_HEAD(&ld->lh_children, (linuxdvb_hardware_t*)la, lh_parent_link); - la->lh_parent = (linuxdvb_hardware_t*)ld; - la->mi_enabled = 1; + la->lh_parent = (linuxdvb_hardware_t*)ld; + la->mi_is_enabled = linuxdvb_adapter_is_enabled; + la->mi_enabled = 1; /* No conf */ if (!conf)