]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
linuxdvb ca: add missing ca index to linuxdvb_transport_create(), issue #4400
authorJaroslav Kysela <perex@perex.cz>
Sat, 6 Jan 2018 15:41:56 +0000 (16:41 +0100)
committerJaroslav Kysela <perex@perex.cz>
Sat, 6 Jan 2018 15:41:56 +0000 (16:41 +0100)
src/input/mpegts/linuxdvb/linuxdvb_adapter.c
src/input/mpegts/linuxdvb/linuxdvb_ca.c
src/input/mpegts/linuxdvb/linuxdvb_private.h

index 91edf07723b9a0e181e8c1595214b978f88e0c02..96b5c22a354f9d69bd4ff6f8e9647759bb8f4e7a 100644 (file)
@@ -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);
index 30f7ffae7c1029f00cbb5ecf5d5197c940ae8ef6..7f5d809594cfda3b039d4a5eb2b2077b6944de01 100644 (file)
@@ -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;
 
index f79a68981577be91f45f076d932939a26cc5d060..0b6dcd597a47da4cd454bded7fc288e057d56034 100644 (file)
@@ -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 );