From: Jaroslav Kysela Date: Sat, 6 Jan 2018 15:41:56 +0000 (+0100) Subject: linuxdvb ca: add missing ca index to linuxdvb_transport_create(), issue #4400 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=50ab53f4e1bc270af752ba8f38fdefa4ba55c2f3;p=thirdparty%2Ftvheadend.git linuxdvb ca: add missing ca index to linuxdvb_transport_create(), issue #4400 --- diff --git a/src/input/mpegts/linuxdvb/linuxdvb_adapter.c b/src/input/mpegts/linuxdvb/linuxdvb_adapter.c index 91edf0772..96b5c22a3 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_adapter.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_adapter.c @@ -590,7 +590,7 @@ linuxdvb_adapter_add ( const char *path ) if (conf) caconf = htsmsg_get_map(conf, "ca_devices"); - lcat = linuxdvb_transport_create(la, cac.slot_num, ca_path, ci_found); + lcat = linuxdvb_transport_create(la, i, cac.slot_num, ca_path, ci_found); if (lcat) { for (j = 0; j < cac.slot_num; j++) linuxdvb_ca_create(caconf, lcat, j); diff --git a/src/input/mpegts/linuxdvb/linuxdvb_ca.c b/src/input/mpegts/linuxdvb/linuxdvb_ca.c index 30f7ffae7..7f5d80959 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_ca.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_ca.c @@ -1009,7 +1009,7 @@ static en50221_ops_t linuxdvb_ca_ops = { }; linuxdvb_transport_t *linuxdvb_transport_create - ( linuxdvb_adapter_t *la, int slots, + ( linuxdvb_adapter_t *la, int number, int slots, const char *ca_path, const char *ci_path ) { linuxdvb_transport_t *lcat; @@ -1019,6 +1019,7 @@ linuxdvb_transport_t *linuxdvb_transport_create lcat = calloc(1, sizeof(*lcat)); lcat->lcat_adapter = la; + lcat->lcat_number = number; lcat->lcat_ca_path = strdup(ca_path); lcat->lcat_ca_fd = -1; diff --git a/src/input/mpegts/linuxdvb/linuxdvb_private.h b/src/input/mpegts/linuxdvb/linuxdvb_private.h index f79a68981..0b6dcd597 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_private.h +++ b/src/input/mpegts/linuxdvb/linuxdvb_private.h @@ -433,7 +433,7 @@ int linuxdvb2tvh_delsys ( int delsys ); #if ENABLE_LINUXDVB_CA linuxdvb_transport_t * -linuxdvb_transport_create( linuxdvb_adapter_t *la, int number, +linuxdvb_transport_create( linuxdvb_adapter_t *la, int number, int slots, const char *ca_path, const char *ci_path ); void linuxdvb_transport_destroy( linuxdvb_transport_t *lcat ); void linuxdvb_transport_save( linuxdvb_transport_t *lcat, htsmsg_t *m );