SAT>IP : Add preliminary DVB-C code
This commit is contained in:
parent
35afb618e6
commit
2e491c5e7e
3 changed files with 34 additions and 1 deletions
|
@ -340,6 +340,9 @@ satip_device_create( satip_device_info_t *info )
|
|||
} 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]);
|
||||
|
@ -511,6 +514,11 @@ satip_discovery_http_closed(http_client_t *hc, int errn)
|
|||
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--;
|
||||
|
|
|
@ -162,6 +162,16 @@ const idclass_t satip_frontend_dvbs_class =
|
|||
}
|
||||
};
|
||||
|
||||
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
|
||||
* *************************************************************************/
|
||||
|
@ -419,6 +429,8 @@ satip_frontend_network_list ( mpegts_input_t *mi )
|
|||
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;
|
||||
|
||||
|
@ -1071,6 +1083,8 @@ satip_frontend_create
|
|||
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;
|
||||
|
|
|
@ -77,6 +77,9 @@ satip_rtsp_setup( http_client_t *hc, int src, int fe,
|
|||
{ .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[] = {
|
||||
|
@ -157,7 +160,7 @@ satip_rtsp_setup( http_client_t *hc, int src, int fe,
|
|||
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" );
|
||||
|
@ -165,6 +168,14 @@ satip_rtsp_setup( http_client_t *hc, int src, int fe,
|
|||
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)
|
||||
|
|
Loading…
Add table
Reference in a new issue