From: Jaroslav Kysela Date: Mon, 21 Oct 2019 16:45:12 +0000 (+0200) Subject: tvhdhomerun: fix the cablecard access in tvhdhomerun_frontend_monitor_cb() X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=6540ff23747499bfa28ba04cc76347a9209f4a1e;p=thirdparty%2Ftvheadend.git tvhdhomerun: fix the cablecard access in tvhdhomerun_frontend_monitor_cb() --- diff --git a/src/input/mpegts/tvhdhomerun/tvhdhomerun_frontend.c b/src/input/mpegts/tvhdhomerun/tvhdhomerun_frontend.c index 7d1452960..03f021d34 100644 --- a/src/input/mpegts/tvhdhomerun/tvhdhomerun_frontend.c +++ b/src/input/mpegts/tvhdhomerun/tvhdhomerun_frontend.c @@ -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);