system=eDVBFrontendParametersSatellite::System_DVB_S,
modulation=eDVBFrontendParametersSatellite::Modulation_QPSK,
rolloff=eDVBFrontendParametersSatellite::RollOff_alpha_0_35,
- pilot=eDVBFrontendParametersSatellite::Pilot_Unknown;
+ pilot=eDVBFrontendParametersSatellite::Pilot_Unknown,
+ is_id = NO_STREAM_ID_FILTER,
+ pls_code = 0,
+ pls_mode = eDVBFrontendParametersSatellite::PLS_Unknown;
if (version == 3)
sscanf(line+3, "%d:%d:%d:%d:%d:%d:%d:%d:%d:%d", &frequency, &symbol_rate, &polarisation, &fec, &orbital_position, &inversion, &system, &modulation, &rolloff, &pilot);
else
- sscanf(line+3, "%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d", &frequency, &symbol_rate, &polarisation, &fec, &orbital_position, &inversion, &flags, &system, &modulation, &rolloff, &pilot);
+ sscanf(line+3, "%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d",
+ &frequency, &symbol_rate, &polarisation, &fec, &orbital_position,
+ &inversion, &flags, &system, &modulation, &rolloff, &pilot,
+ &is_id, &pls_code, &pls_mode);
sat.frequency = frequency;
sat.symbol_rate = symbol_rate;
sat.polarisation = polarisation;
sat.modulation = modulation;
sat.rolloff = rolloff;
sat.pilot = pilot;
+ sat.is_id = is_id;
+ sat.pls_mode = pls_mode & 3;
+ sat.pls_code = pls_code & 0x3FFFF;
feparm->setDVBS(sat);
feparm->setFlags(flags);
} else if (line[1]=='t')
ch.m_frontendParameters->getFlags(flags);
if (!ch.m_frontendParameters->getDVBS(sat))
{
- if (sat.system == eDVBFrontendParametersSatellite::System_DVB_S2)
- {
- fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d\n",
- sat.frequency, sat.symbol_rate,
- sat.polarisation, sat.fec,
- sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position,
- sat.inversion,
- flags,
- sat.system,
- sat.modulation,
- sat.rolloff,
- sat.pilot);
- }
- else
+ fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d",
+ sat.frequency, sat.symbol_rate, sat.polarisation, sat.fec,
+ sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position,
+ sat.inversion, flags);
+
+ if ((sat.system == eDVBFrontendParametersSatellite::System_DVB_S2) || (sat.system == eDVBFrontendParametersSatellite::System_DVB_S2X))
{
- fprintf(f, "\ts %d:%d:%d:%d:%d:%d:%d\n",
- sat.frequency, sat.symbol_rate,
- sat.polarisation, sat.fec,
- sat.orbital_position > 1800 ? sat.orbital_position - 3600 : sat.orbital_position,
- sat.inversion, flags);
+ fprintf(f, ":%d:%d:%d:%d", sat.system, sat.modulation, sat.rolloff, sat.pilot);
+
+ if (static_cast<unsigned int>(sat.is_id) != NO_STREAM_ID_FILTER ||
+ (sat.pls_code & 0x3FFFF) != 0 ||
+ (sat.pls_mode & 3) != eDVBFrontendParametersSatellite::PLS_Unknown)
+ {
+ fprintf(f, ":%d:%d:%d", sat.is_id, sat.pls_code & 0x3FFFF, sat.pls_mode & 3);
+ }
}
+ fprintf(f, "\n");
}
else if (!ch.m_frontendParameters->getDVBT(ter))
{
return Py_False;
}
int tmp, *dest = NULL,
- modulation, system, freq, sr, pol, fec, inv, pilot, rolloff, tsid, onid;
+ modulation, system, freq, sr, pol, fec, inv, pilot, rolloff, is_id, pls_code, pls_mode, tsid, onid;
char *end_ptr;
const Attribute *at;
std::string name;
inv = eDVBFrontendParametersSatellite::Inversion_Unknown;
pilot = eDVBFrontendParametersSatellite::Pilot_Unknown;
rolloff = eDVBFrontendParametersSatellite::RollOff_alpha_0_35;
+ is_id = NO_STREAM_ID_FILTER;
+ pls_code = 0;
+ pls_mode = eDVBFrontendParametersSatellite::PLS_Unknown;
tsid = -1;
onid = -1;
else if (name == "inversion") dest = &inv;
else if (name == "rolloff") dest = &rolloff;
else if (name == "pilot") dest = &pilot;
+ else if (name == "is_id") dest = &is_id;
+ else if (name == "pls_code") dest = &pls_code;
+ else if (name == "pls_mode") dest = &pls_mode;
else if (name == "tsid") dest = &tsid;
else if (name == "onid") dest = &onid;
else continue;
}
if (freq && sr && pol != -1)
{
- tuple = PyTuple_New(12);
+ tuple = PyTuple_New(15);
PyTuple_SET_ITEM(tuple, 0, PyInt_FromLong(0));
PyTuple_SET_ITEM(tuple, 1, PyInt_FromLong(freq));
PyTuple_SET_ITEM(tuple, 2, PyInt_FromLong(sr));
PyTuple_SET_ITEM(tuple, 7, PyInt_FromLong(inv));
PyTuple_SET_ITEM(tuple, 8, PyInt_FromLong(rolloff));
PyTuple_SET_ITEM(tuple, 9, PyInt_FromLong(pilot));
- PyTuple_SET_ITEM(tuple, 10, PyInt_FromLong(tsid));
- PyTuple_SET_ITEM(tuple, 11, PyInt_FromLong(onid));
+ PyTuple_SET_ITEM(tuple, 10, PyInt_FromLong(is_id));
+ PyTuple_SET_ITEM(tuple, 11, PyInt_FromLong(pls_mode & 3));
+ PyTuple_SET_ITEM(tuple, 12, PyInt_FromLong(pls_code & 0x3FFFF));
+ PyTuple_SET_ITEM(tuple, 13, PyInt_FromLong(tsid));
+ PyTuple_SET_ITEM(tuple, 14, PyInt_FromLong(onid));
PyList_Append(tplist, tuple);
Py_DECREF(tuple);
}