Go to the documentation of this file.
38 {
return Open(
this); }
42 bool Init(QString &startchannel,
bool setchan)
override;
51 bool IsOpen(
void)
const override;
70 bool HasLock(
bool *ok =
nullptr)
const;
80 double GetSNR(
bool *ok =
nullptr)
const;
93 bool force_reset =
false,
bool same_input =
false);
94 bool Retune(
void)
override;
int GetFd(void) const override
Returns file descriptor, -1 if it does not exist.
bool CheckModulation(DTVModulation modulation) const
Return true iff modulation is supported modulation on the frontend.
double GetUncorrectedBlockCount(bool *ok=nullptr) const
Returns # of uncorrected blocks since last call. First call undefined.
bool Init(QString &startchannel, bool setchan) override
uint64_t m_extModulations
static void ReturnMasterLock(DVBChannel *&dvbm)
DTVModulationSystem m_currentSys
bool IsTuningParamsProbeSupported(void) const
Returns true iff tuning info probing is working.
const DiSEqCDevRotor * GetRotor(void) const
Returns rotor object if it exists, nullptr otherwise.
uint64_t m_frequencyMinimum
DVBChannel(QString device, TVRec *parent=nullptr)
double GetBitErrorRateDVBv5(bool *ok) const
Get Bit Error Rate from the DVBv5 interface.
bool CheckCodeRate(DTVCodeRate rate) const
Return true iff rate is supported rate on the frontend.
bool CanDo(uint64_t capability) const
uint64_t GetCapabilities(void) const
A PMT table maps a program described in the ProgramAssociationTable to various PID's which describe t...
void CheckOptions(DTVMultiplex &t) const override
Checks tuning for problems, and tries to fix them.
virtual bool Tune(const DTVMultiplex &tuning)=0
This performs the actual frequency tuning and in some cases input switching.
double GetSignalStrength(bool *ok=nullptr) const
Returns signal strength in the range [0.0..1.0] (non-calibrated).
void SetPMT(const ProgramMapTable *pmt)
Tells the Conditional Access Module which streams we wish to decode.
uint64_t m_frequencyMaximum
bool SwitchToInput(int newcapchannel, bool setstarting)
bool IsMaster(void) const override
Returns true if this is the first of a number of multi-rec devs.
DVB-S device settings class.
DTVMultiplex m_prevTuning
void SetSlowTuning(std::chrono::milliseconds how_slow)
QString GetDevice(void) const override
Returns String representing device, useful for debugging.
bool WaitForBackend(std::chrono::milliseconds timeout_ms)
Waits for backend to get tune message.
bool Tune(const DTVMultiplex &tuning) override
This performs the actual frequency tuning and in some cases input switching.
void Close(void) override
Closes the channel changing hardware to use.
double GetSNR(bool *ok=nullptr) const
Returns signal/noise in the range [0..1.0].
QList< DTVModulationSystem > m_sysList
DiSEqCDevSettings m_diseqcSettings
std::chrono::milliseconds m_sigMonDelay
DTVMultiplex m_desiredTuning
double GetUncorrectedBlockCountDVBv5(bool *ok) const
Get Uncorrected Block Count from the DVBv5 interface.
This is a specialization of DTVRecorder used to handle streams from DVB drivers.
bool Retune(void) override
std::chrono::milliseconds GetMinSignalMonitorDelay(void) const
double GetBitErrorRate(bool *ok=nullptr) const
Returns # of corrected bits since last call. First call undefined.
Provides interface to the tuning hardware when using DVB drivers.
bool Open(void) override
Opens the channel changing hardware for use.
double GetSNRDVBv5(bool *ok) const
Get SNR from the DVBv5 interface [0-1.0] It is transformed to a linear relative scale if provided in ...
bool HasCRCBug(void) const
Returns true iff we have a faulty DVB driver that munges PMT.
QMap< const DVBChannel *, bool > IsOpenMap
QString GetFrontendName(void) const
Returns frontend name as reported by driver.
void SetTimeOffset(double offset)
Tells the Conditional Access Module the offset from the computers utc time to dvb time.
std::chrono::milliseconds m_tuningDelay
void CheckFrequency(uint64_t frequency) const
Checks tuning frequency.
DiSEqCDevTree * m_diseqcTree
This is the coordinating class of the Recorder Subsystem.
bool ProbeTuningParams(DTVMultiplex &tuning) const
Fetches DTVMultiplex params from driver.
bool HasLock(bool *ok=nullptr) const
Returns true iff we have a signal carrier lock.
DVB-S device tree class. Represents a tree of DVB-S devices.
DVBChannel * GetMasterLock(void) const
bool IsOpen(void) const override
Reports whether channel is already open.
int GetChanID(void) const override
Returns Channel ID.
Class providing a generic interface to digital tuning hardware.
void DrainDVBEvents(void)
double GetSignalStrengthDVBv5(bool *ok) const
Get Signal strength from the DVBv5 interface [0-1.0] It is transformed to a linear relative scale if ...
static std::chrono::milliseconds s_lastTuning
QString GetCardNum(void) const
Returns DVB device number, used to construct filenames for DVB devices.