} else if (strncmp(argv[i], "DVBT-", 5) == 0) {
type = DVB_TYPE_T;
m = atoi(argv[i] + 5);
+ } else if (strncmp(argv[i], "DVBC-", 5) == 0) {
+ type = DVB_TYPE_C;
+ m = atoi(argv[i] + 5);
}
if (type == DVB_TYPE_NONE) {
tvhlog(LOG_ERR, "satip", "%s: bad tuner type [%s]", sd->sd_info.addr, argv[i]);
return;
}
+#if ENABLE_TRACE
+ tvhtrace("satip", "received XML description from %s", hc->hc_host);
+ tvhlog_hexdump("satip", hc->hc_data, hc->hc_data_size);
+#endif
+
s = hc->hc_data + hc->hc_data_size - 1;
while (s != hc->hc_data && *s != '/')
s--;
}
};
+const idclass_t satip_frontend_dvbc_class =
+{
+ .ic_super = &satip_frontend_class,
+ .ic_class = "satip_frontend_dvbc",
+ .ic_caption = "SAT>IP DVB-C Frontend",
+ .ic_properties = (const property_t[]){
+ {}
+ }
+};
+
/* **************************************************************************
* Class methods
* *************************************************************************/
idc = &dvb_network_dvbt_class;
else if (lfe->sf_type == DVB_TYPE_S)
idc = &dvb_network_dvbs_class;
+ else if (lfe->sf_type == DVB_TYPE_C)
+ idc = &dvb_network_dvbc_class;
else
return NULL;
idc = &satip_frontend_dvbs_class;
else if (type == DVB_TYPE_T)
idc = &satip_frontend_dvbt_class;
+ else if (type == DVB_TYPE_C)
+ idc = &satip_frontend_dvbc_class;
else {
tvherror("satip", "unknown FE type %d", type);
return NULL;
{ .t = DVB_SYS_DVBT2, "dvbt2" },
{ .t = DVB_SYS_DVBS, "dvbs" },
{ .t = DVB_SYS_DVBS2, "dvbs2" },
+ { .t = DVB_SYS_DVBC_ANNEX_A, "dvbc" },
+ { .t = DVB_SYS_DVBC_ANNEX_B, "dvbc" },
+ { .t = DVB_SYS_DVBC_ANNEX_C, "dvbc" },
{ .t = TABLE_EOD }
};
static tvh2satip_t pol[] = {
satip_rtsp_add_val("freq", buf, dmc->dmc_fe_freq);
if (dmc->dmc_fe_delsys == DVB_SYS_DVBS ||
dmc->dmc_fe_delsys == DVB_SYS_DVBS2) {
- satip_rtsp_add_val("sr", buf, dmc->u.dmc_fe_qpsk.symbol_rate);
+ satip_rtsp_add_val("sr", buf, dmc->u.dmc_fe_qpsk.symbol_rate);
ADD(dmc_fe_delsys, msys, "dvbs");
ADD(dmc_fe_modulation, mtype, "qpsk");
ADD(u.dmc_fe_qpsk.polarisation, pol, "h" );
ADD(dmc_fe_rolloff, ro, "0.35");
if (dmc->dmc_fe_pilot != DVB_PILOT_AUTO)
ADD(dmc_fe_pilot, plts, "auto");
+ } else if (dmc->dmc_fe_delsys == DVB_SYS_DVBC_ANNEX_A ||
+ dmc->dmc_fe_delsys == DVB_SYS_DVBC_ANNEX_B ||
+ dmc->dmc_fe_delsys == DVB_SYS_DVBC_ANNEX_C) {
+ satip_rtsp_add_val("sr", buf, dmc->u.dmc_fe_qam.symbol_rate);
+ ADD(dmc_fe_delsys, msys, "dvbc");
+ ADD(dmc_fe_modulation, mtype, "64qam");
+ /* missing plp */
+ ADD(u.dmc_fe_qpsk.fec_inner, fec, "auto");
} else {
if (dmc->u.dmc_fe_ofdm.bandwidth != DVB_BANDWIDTH_AUTO &&
dmc->u.dmc_fe_ofdm.bandwidth != DVB_BANDWIDTH_NONE)