linuxdvb: fix adapter number passing to capmt
This commit is contained in:
parent
26db1c3d00
commit
0a54408035
3 changed files with 12 additions and 5 deletions
|
@ -586,13 +586,13 @@ capmt_thread(void *aux)
|
|||
la = (linuxdvb_adapter_t*)is->is_array[i];
|
||||
if (!la || !la->mi_is_enabled) continue;
|
||||
if (!la->mi_is_enabled((mpegts_input_t*)la)) continue;
|
||||
if (la->la_number > MAX_CA) {
|
||||
if (la->la_dvb_number > MAX_CA) {
|
||||
tvhlog(LOG_ERR, "capmt", "adapter number > MAX_CA");
|
||||
continue;
|
||||
}
|
||||
tvhlog(LOG_INFO, "capmt", "Creating capmt UDP socket for adapter %d",
|
||||
la->la_number);
|
||||
bind_ok = capmt_create_udp_socket(&capmt->capmt_sock_ca0[la->la_number], 9000 + la->la_number);
|
||||
la->la_dvb_number);
|
||||
bind_ok = capmt_create_udp_socket(&capmt->capmt_sock_ca0[la->la_dvb_number], 9000 + la->la_dvb_number);
|
||||
}
|
||||
}
|
||||
if (bind_ok)
|
||||
|
@ -656,7 +656,7 @@ capmt_table_input(struct th_descrambler *td, struct service *s,
|
|||
lfe = (linuxdvb_frontend_t*)t->s_dvb_active_input;
|
||||
if (!idnode_is_instance(&lfe->ti_id, &linuxdvb_frontend_class))
|
||||
return;
|
||||
adapter_num = ((linuxdvb_adapter_t*)lfe->lh_parent)->la_number;
|
||||
adapter_num = ((linuxdvb_adapter_t*)lfe->lh_parent)->la_dvb_number;
|
||||
|
||||
caid_t *c;
|
||||
|
||||
|
@ -895,7 +895,7 @@ capmt_service_start(service_t *s)
|
|||
lfe = (linuxdvb_frontend_t*)t->s_dvb_active_input;
|
||||
if (!idnode_is_instance(&lfe->ti_id, &linuxdvb_frontend_class))
|
||||
return;
|
||||
tuner = ((linuxdvb_adapter_t*)lfe->lh_parent)->la_number;
|
||||
tuner = ((linuxdvb_adapter_t*)lfe->lh_parent)->la_dvb_number;
|
||||
|
||||
TAILQ_FOREACH(capmt, &capmts, capmt_link) {
|
||||
/* skip, if we're not active */
|
||||
|
|
|
@ -113,6 +113,9 @@ linuxdvb_adapter_is_enabled ( mpegts_input_t *mi )
|
|||
linuxdvb_adapter_t *la = (linuxdvb_adapter_t*)mi;
|
||||
linuxdvb_hardware_t *lh;
|
||||
|
||||
if (la->la_dvb_number == -1)
|
||||
return 0;
|
||||
|
||||
LIST_FOREACH(lh, &la->lh_children, lh_parent_link)
|
||||
if (lh->mi_is_enabled && lh->mi_is_enabled((mpegts_input_t*)lh))
|
||||
return 1;
|
||||
|
@ -143,6 +146,8 @@ linuxdvb_adapter_create0
|
|||
la->mi_is_enabled = linuxdvb_adapter_is_enabled;
|
||||
la->mi_enabled = 1;
|
||||
|
||||
la->la_dvb_number = -1;
|
||||
|
||||
/* No conf */
|
||||
if (!conf)
|
||||
return la;
|
||||
|
@ -252,6 +257,7 @@ linuxdvb_adapter_added ( int adapter )
|
|||
tvhlog(LOG_ERR, "linuxdvb", "failed to find/create adapter%d", adapter);
|
||||
return NULL;
|
||||
}
|
||||
la->la_dvb_number = adapter;
|
||||
if (!la->mi_displayname) {
|
||||
char buf[256];
|
||||
snprintf(buf, sizeof(buf), "%s #%d", dfi.name, la->la_number);
|
||||
|
|
|
@ -93,6 +93,7 @@ struct linuxdvb_adapter
|
|||
*/
|
||||
char *la_rootpath;
|
||||
uint32_t la_number;
|
||||
int la_dvb_number;
|
||||
};
|
||||
|
||||
#define LINUXDVB_SUBSYS_FE 0x01
|
||||
|
|
Loading…
Add table
Reference in a new issue