]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
capmt: do not duplicate subscribed services 305/head
authorMariusz Bialonczyk <manio@skyboo.net>
Tue, 19 Nov 2013 13:57:44 +0000 (14:57 +0100)
committerMariusz Bialonczyk <manio@skyboo.net>
Tue, 19 Nov 2013 15:50:05 +0000 (16:50 +0100)
descrambler_service_start() was sometimes called multiple times
resulting in duplicate start of capmt server for the same
service.

src/descrambler/capmt.c

index de54a3a609492eac07510a62964bfefa7d5737d7..e95132eafbc7a51352f5acbdddf5e1b94f6a89ea 100644 (file)
@@ -898,6 +898,14 @@ capmt_service_start(service_t *s)
     return;
   tuner = lfe->lfe_adapter->la_dvb_number;
 
+  TAILQ_FOREACH(capmt, &capmts, capmt_link) {
+    LIST_FOREACH(ct, &capmt->capmt_services, ct_link) {
+      /* skip, if we already have this service */
+      if (ct->ct_service == t)
+        return;
+    }
+  }
+
   TAILQ_FOREACH(capmt, &capmts, capmt_link) {
     /* skip, if we're not active */
     if (!capmt->capmt_enabled)