]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
dvbcam: use forcecaid settings per service
authorJaroslav Kysela <perex@perex.cz>
Wed, 22 Nov 2017 07:14:29 +0000 (08:14 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 22 Nov 2017 07:14:29 +0000 (08:14 +0100)
src/descrambler/dvbcam.c

index b190804cb2e023490fe4db5db5d905e44407990a..c9ba6d24d2906b5228cf9f23b0d31668980cffa4 100644 (file)
@@ -404,7 +404,8 @@ dvbcam_service_start(caclient_t *cac, service_t *t)
     if (st->es_type != SCT_CA) continue;
     LIST_FOREACH(c, &st->es_caids, link) {
       if (!c->use) continue;
-      TAILQ_FOREACH(ac, &dvbcam_active_cams, global_link)
+      if (t->s_dvb_forcecaid && t->s_dvb_forcecaid != c->caid) continue;
+      TAILQ_FOREACH(ac, &dvbcam_active_cams, global_link) {
         if (dvbcam_ca_lookup(ac, ((mpegts_service_t *)t)->s_dvb_active_input, c->caid)) {
           /* limit the concurrent service decoders per CAM */
           if (dc->limit > 0 && ac->allocated_programs >= dc->limit)
@@ -417,6 +418,7 @@ dvbcam_service_start(caclient_t *cac, service_t *t)
 #endif
           goto end_of_search_for_cam;
         }
+      }
     }
   }