Go to the documentation of this file.
10 #define LOC QString("DTVMux: ")
36 QString ret = QString(
"%1 %2 %3 ")
39 ret += QString(
"%1 %2 %3 %4 %5 %6 %7")
44 ret += QString(
" fec:%1 msys:%2 ro:%3")
51 uint freq_range,
bool fuzzy)
const
144 const QString &_modulation)
150 LOG(VB_GENERAL, LOG_ERR,
LOC +
151 QString(
"Failed to parse ATSC frequency %1").
arg(_frequency));
158 LOG(VB_GENERAL, LOG_ERR,
LOC +
159 QString(
"Failed to parse ATSC modulation %1").
arg(_modulation));
165 const QString &_frequency,
const QString &_inversion,
166 const QString &_bandwidth,
const QString &_coderate_hp,
167 const QString &_coderate_lp,
const QString &_modulation,
168 const QString &_trans_mode,
const QString &_guard_interval,
169 const QString &_hierarchy)
174 LOG(VB_GENERAL, LOG_WARNING,
LOC +
175 QString(
"Invalid inversion parameter '%1', falling back to 'auto'.")
195 const QString &_frequency,
const QString &_inversion,
196 const QString &_symbol_rate,
const QString &_fec_inner,
197 const QString &_modulation,
const QString &_polarity)
202 LOG(VB_GENERAL, LOG_WARNING,
LOC +
203 QString(
"Invalid inversion parameter '%1', falling back to 'auto'.")
212 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Invalid symbol rate " +
213 QString(
"parameter '%1', aborting.").
arg(_symbol_rate));
221 if (!_polarity.isEmpty())
231 const QString &_frequency,
const QString &_inversion,
232 const QString &_symbol_rate,
const QString &_fec_inner,
233 const QString &_modulation,
const QString &_polarity)
236 _fec_inner, _modulation, _polarity);
242 const QString &_frequency,
const QString &_inversion,
243 const QString &_symbol_rate,
const QString &_fec_inner,
244 const QString &_modulation,
const QString &_polarity,
245 const QString &_mod_sys)
248 _fec_inner, _modulation, _polarity);
253 LOG(VB_GENERAL, LOG_WARNING,
LOC +
"Undefined modulation system " +
254 QString(
"parameter '%1', using DVB-C/A.").
arg(_mod_sys));
262 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Unsupported DVB-C modulation system " +
263 QString(
"parameter '%1', aborting.").
arg(_mod_sys));
271 const QString &_frequency,
const QString &_inversion,
272 const QString &_symbol_rate,
const QString &_fec_inner,
273 const QString &_modulation,
const QString &_polarity,
274 const QString &_mod_sys,
const QString &_rolloff)
277 _fec_inner, _modulation, _polarity);
294 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Unsupported DVB-S2 modulation system " +
295 QString(
"parameter '%1', aborting.").
arg(_mod_sys));
299 if (!_rolloff.isEmpty())
306 const QString &_frequency,
const QString &_inversion,
307 const QString &_bandwidth,
const QString &_coderate_hp,
308 const QString &_coderate_lp,
const QString &_modulation,
309 const QString &_trans_mode,
const QString &_guard_interval,
310 const QString &_hierarchy,
const QString &_mod_sys)
312 bool ok =
ParseDVB_T(_frequency, _inversion, _bandwidth,
313 _coderate_hp, _coderate_lp, _modulation,
314 _trans_mode, _guard_interval, _hierarchy);
323 LOG(VB_GENERAL, LOG_WARNING,
LOC +
"Deprecated DVB-T modulation system " +
331 LOG(VB_GENERAL, LOG_WARNING,
LOC +
"Deprecated DVB-T2 modulation system " +
339 LOG(VB_GENERAL, LOG_WARNING,
LOC +
"Undefined modulation system, " +
347 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Unsupported DVB-T2 modulation system " +
357 const QString& _frequency,
const QString& _inversion,
const QString& _symbolrate,
358 const QString& _fec,
const QString& _polarity,
359 const QString& _hp_code_rate,
const QString& _lp_code_rate,
const QString& _ofdm_modulation,
360 const QString& _trans_mode,
const QString& _guard_interval,
const QString& _hierarchy,
361 const QString& _modulation,
const QString& _bandwidth,
362 const QString& _mod_sys,
const QString& _rolloff)
367 _frequency, _inversion, _bandwidth,
368 _hp_code_rate, _lp_code_rate, _ofdm_modulation,
369 _trans_mode, _guard_interval, _hierarchy);
375 _frequency, _inversion, _symbolrate,
376 _fec, _modulation, _polarity,
383 _frequency, _inversion, _symbolrate,
384 _fec, _modulation, _polarity);
390 _frequency, _inversion, _symbolrate,
391 _fec, _modulation, _polarity,
398 _frequency, _inversion, _bandwidth,
399 _hp_code_rate, _lp_code_rate, _ofdm_modulation,
400 _trans_mode, _guard_interval, _hierarchy,
406 return ParseATSC(_frequency, _modulation);
409 LOG(VB_GENERAL, LOG_ERR,
LOC +
410 QString(
"ParseTuningParams -- Unknown tuner type = 0x%1")
422 "SELECT frequency, inversion, symbolrate, "
424 " hp_code_rate, lp_code_rate, constellation, "
425 " transmission_mode, guard_interval, hierarchy, "
426 " modulation, bandwidth, sistandard, "
428 "FROM dtv_multiplex "
429 "WHERE dtv_multiplex.mplexid = :MPLEXID");
440 LOG(VB_GENERAL, LOG_ERR,
LOC +
441 QString(
"Could not find tuning parameters for mplex %1")
506 LOG(VB_CHANSCAN, LOG_NOTICE,
LOC +
507 "Ignoring DVB-S2 transponder with DVB-S card");
547 LOG(VB_CHANSCAN, LOG_ERR,
LOC +
548 QString(
"Unknown delivery system descriptor 0x%1").
arg(tag,0,16));
552 LOG(VB_CHANSCAN, LOG_ERR,
LOC +
553 QString(
"Tuner type %1 does not match delivery system")
569 "SELECT c.mplexid, c.sourceid, c.chanid, "
570 " c.callsign, c.name, c.channum, "
571 " c.serviceid, c.atsc_major_chan, c.atsc_minor_chan, "
572 " c.useonairguide, c.visible, c.freqid, "
573 " c.icon, c.tvformat, c.xmltvid, "
574 " d.transportid, d.networkid, c.default_authority,"
576 "FROM channel AS c, dtv_multiplex AS d "
577 "WHERE c.deleted IS NULL AND "
578 " c.mplexid = :MPLEXID AND"
579 " c.mplexid = d.mplexid");
604 false,
false,
false,
false,
605 false,
false,
false,
false,
606 false,
false,
false, 0,
618 uint transportid = 0;
622 "INSERT INTO channelscan_dtv_multiplex "
624 " mplexid, frequency, inversion, "
625 " symbolrate, fec, polarity, "
626 " hp_code_rate, lp_code_rate, modulation, "
627 " transmission_mode, guard_interval, hierarchy, "
628 " mod_sys, rolloff, bandwidth, "
629 " sistandard, tuner_type, signal_strength "
633 " :MPLEXID, :FREQUENCY, :INVERSION, "
634 " :SYMBOLRATE, :FEC, :POLARITY, "
635 " :HP_CODE_RATE, :LP_CODE_RATE, :MODULATION, "
636 " :TRANSMISSION_MODE, :GUARD_INTERVAL, :HIERARCHY, "
637 " :MOD_SYS, :ROLLOFF, :BANDWIDTH, "
638 " :SISTANDARD, :TUNER_TYPE, :SIGNAL_STRENGTH "
667 query.
prepare(
"SELECT MAX(transportid) FROM channelscan_dtv_multiplex");
677 channel.SaveScan(scanid, transportid);
684 const QString& _frequency,
const QString& _inversion,
const QString& _symbolrate,
685 const QString& _fec,
const QString& _polarity,
686 const QString& _hp_code_rate,
const QString& _lp_code_rate,
const QString& _ofdm_modulation,
687 const QString& _trans_mode,
const QString& _guard_interval,
const QString& _hierarchy,
688 const QString& _modulation,
const QString& _bandwidth,
const QString& _mod_sys,
689 const QString& _rolloff,
const QString& signal_strength)
696 _frequency, _inversion, _symbolrate,
698 _hp_code_rate, _lp_code_rate, _ofdm_modulation,
699 _trans_mode, _guard_interval, _hierarchy,
700 _modulation, _bandwidth, _mod_sys,
bool next(void)
Wrap QSqlQuery::next() so we can display the query results.
QSqlQuery wrapper that fetches a DB connection from the connection pool.
bool IsCompatible(const DTVHierarchy other) const
QString HierarchyString(void) const
uint DescriptorTag(void) const
static const int kTunerTypeDVBC
QString GuardIntervalString(void) const
static const int kTunerTypeIPTV
@ kModulationSystem_DVBS2
bool Parse(const QString &_value)
static const int kTunerTypeDVBS1
bool Parse(const QString &_value)
bool IsCompatible(const DTVTransmitMode other) const
bool FillFromDeliverySystemDesc(DTVTunerType type, const MPEGDescriptor &desc)
QVariant value(int i) const
arg(title).arg(filename).arg(doDelete))
bool Parse(const QString &_value)
bool exec(void)
Wrap QSqlQuery::exec() so we can display SQL.
bool operator==(const DTVMultiplex &m) const
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
unsigned long long FrequencyHz(void) const
QString FECInnerString(void) const
bool ParseTuningParams(DTVTunerType type, const QString &frequency, const QString &inversion, const QString &symbolrate, const QString &fec, const QString &polarity, const QString &hp_code_rate, const QString &lp_code_rate, const QString &ofdm_modulation, const QString &trans_mode, const QString &guard_interval, const QString &hierarchy, const QString &modulation, const QString &bandwidth, const QString &mod_sys, const QString &rolloff, const QString &signal_strength)
bool ParseDVB_S_and_C(const QString &frequency, const QString &inversion, const QString &symbol_rate, const QString &fec_inner, const QString &modulation, const QString &polarity)
virtual bool FillFromDB(DTVTunerType type, uint mplexid)
@ kModulationSystem_UNDEFINED
bool IsCompatible(const DTVGuardInterval other) const
bool ParseDVB_C(const QString &frequency, const QString &inversion, const QString &symbol_rate, const QString &fec_inner, const QString &modulation, const QString &polarity, const QString &mod_sys)
@ terrestrial_delivery_system
bool Parse(const QString &_value)
bool Parse(const QString &_value)
IPTVTuningData m_iptvTuning
bool ParseDVB_T(const QString &frequency, const QString &inversion, const QString &bandwidth, const QString &coderate_hp, const QString &coderate_lp, const QString &modulation, const QString &trans_mode, const QString &guard_interval, const QString &hierarchy)
QString BandwidthString(void) const
DTVGuardInterval m_guardInterval
static MSqlQueryInfo InitCon(ConnectionReuse _reuse=kNormalConnection)
Only use this in combination with MSqlQuery constructor.
QString RollOffString(void) const
static void DBError(const QString &where, const MSqlQuery &query)
uint ModulationSystem(void) const
QString ConstellationString(void) const
bool IsCompatible(const DTVModulationSystem other) const
bool FillFromDB(DTVTunerType type, uint mplexid) override
QString FECInnerString(void) const
bool IsCompatible(const DTVCodeRate other) const
DTVModulationSystem m_modSys
bool ParseDVB_T2(const QString &frequency, const QString &inversion, const QString &bandwidth, const QString &coderate_hp, const QString &coderate_lp, const QString &modulation, const QString &trans_mode, const QString &guard_interval, const QString &hierarchy, const QString &mod_sys)
unsigned long long FrequencykHz(void) const
bool Parse(const QString &_value)
static const int kTunerTypeDVBS2
QString CodeRateLPString(void) const
bool Parse(const QString &_value)
QString ModulationSystemString(void) const
QString ModulationString(void) const
uint SymbolRateHz(void) const
void bindValue(const QString &placeholder, const QVariant &val)
Add a single binding.
uint SaveScan(uint scanid) const
bool ParseDVB_S2(const QString &frequency, const QString &inversion, const QString &symbol_rate, const QString &fec_inner, const QString &modulation, const QString &polarity, const QString &mod_sys, const QString &rolloff)
uint64_t FrequencyHz(void) const
bool ParseATSC(const QString &frequency, const QString &modulation)
QString TransmissionModeString(void) const
QString PolarizationString() const
bool IsCompatible(const DTVModulation other) const
bool ParseTuningParams(DTVTunerType type, const QString &frequency, const QString &inversion, const QString &symbolrate, const QString &fec, const QString &polarity, const QString &hp_code_rate, const QString &lp_code_rate, const QString &ofdm_modulation, const QString &trans_mode, const QString &guard_interval, const QString &hierarchy, const QString &modulation, const QString &bandwidth, const QString &mod_sys, const QString &rolloff)
bool Parse(const QString &_value)
QString CodeRateHPString(void) const
uint SymbolRateHz(void) const
DTVModulation m_modulation
static const int kTunerTypeATSC
@ kModulationSystem_DVBT2
static const int kTunerTypeDVBT
bool IsEqual(DTVTunerType type, const DTVMultiplex &other, uint freq_range=0, bool fuzzy=false) const
@ kModulationSystem_DVBC_ANNEX_C
static const int kTunerTypeDVBT2
@ satellite_delivery_system
MSqlQuery query(MSqlQuery::InitCon())
bool ParseDVB_S(const QString &frequency, const QString &inversion, const QString &symbol_rate, const QString &fec_inner, const QString &modulation, const QString &polarity)
bool IsCompatible(const DTVInversion other) const
bool Parse(const QString &_value)
DTVTransmitMode m_transMode
QString ModulationString(void) const
bool IsCompatible(const DTVBandwidth other) const
ChannelInsertInfoList m_channels
@ kModulationSystem_DVBC_ANNEX_A
bool IsCompatible(const DTVRollOff other) const
bool prepare(const QString &query)
QSqlQuery::prepare() is not thread safe in Qt <= 3.3.2.
bool Parse(const QString &_value)