]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
tvhdhomerun: fix the cablecard access in tvhdhomerun_frontend_monitor_cb()
authorJaroslav Kysela <perex@perex.cz>
Mon, 21 Oct 2019 16:45:12 +0000 (18:45 +0200)
committerJaroslav Kysela <perex@perex.cz>
Mon, 21 Oct 2019 16:45:12 +0000 (18:45 +0200)
src/input/mpegts/tvhdhomerun/tvhdhomerun_frontend.c

index 7d1452960a069ee88a371aaf7e9916241045e64f..03f021d34253997f8b6728199c45d84add5cb0cc 100644 (file)
@@ -268,17 +268,19 @@ tvhdhomerun_frontend_monitor_cb( void *aux )
       hfe->hf_locked = 1;
 
       /* Get CableCARD variables */
-      dvb_mux_t *lm = (dvb_mux_t *)mm;
-      struct hdhomerun_tuner_vstatus_t tuner_vstatus;
-      char *tuner_vstatus_str;
-      tvh_mutex_lock(&hfe->hf_hdhomerun_device_mutex);
-      res = hdhomerun_device_get_tuner_vstatus(hfe->hf_hdhomerun_tuner,
-        &tuner_vstatus_str, &tuner_vstatus);
-      tvh_mutex_unlock(&hfe->hf_hdhomerun_device_mutex);
-      if (res < 1)
-        tvhwarn(LS_TVHDHOMERUN, "tuner_vstatus (%d)", res);
-      lm->lm_tuning.u.dmc_fe_cablecard.name = strdup(tuner_vstatus.name);
-      sscanf(strstr(tuner_status.channel, ":"), ":%u", &lm->lm_tuning.dmc_fe_freq);
+      if (hfe->hf_type == DVB_TYPE_CABLECARD) {
+        dvb_mux_t *lm = (dvb_mux_t *)mm;
+        struct hdhomerun_tuner_vstatus_t tuner_vstatus;
+        char *tuner_vstatus_str;
+        tvh_mutex_lock(&hfe->hf_hdhomerun_device_mutex);
+        res = hdhomerun_device_get_tuner_vstatus(hfe->hf_hdhomerun_tuner,
+                                                 &tuner_vstatus_str, &tuner_vstatus);
+        tvh_mutex_unlock(&hfe->hf_hdhomerun_device_mutex);
+        if (res < 1)
+          tvhwarn(LS_TVHDHOMERUN, "tuner_vstatus (%d)", res);
+        lm->lm_tuning.u.dmc_fe_cablecard.name = strdup(tuner_vstatus.name);
+        sscanf(strstr(tuner_status.channel, ":"), ":%u", &lm->lm_tuning.dmc_fe_freq);
+      }
 
       /* start input thread */
       tvh_pipe(O_NONBLOCK, &hfe->hf_input_thread_pipe);