Go to the documentation of this file.
11 #include <sys/socket.h>
12 #include <netinet/in.h>
13 #include <arpa/inet.h>
31 #define LOC QString("HDHRChan[%1](%2): ").arg(m_inputId).arg(HDHRChannel::GetDevice())
35 m_deviceId(std::move(device))
49 bool is_master = (master ==
this);
56 LOG(VB_CHANNEL, LOG_INFO,
LOC +
"Opening HDHR channel");
79 LOG(VB_CHANNEL, LOG_INFO,
LOC +
"Closing HDHR channel");
125 if ((QChar(
'8') == b) || (QChar(
'7') == b) || (QChar(
'6') == b))
127 return QString(
"auto%1t").arg(b);
137 if ((QChar(
'a') == b) && (mod !=
"auto") && (tuning.
m_symbolRate > 0))
138 return QString(
"a8%1-%2")
140 if ((QChar(
'a') == b) || (mod ==
"auto"))
143 return QString(
"a%1%2-%3")
145 return QString(
"auto%1c").arg(b);
155 return (mod ==
"auto") ?
"qam" : mod;
170 QString chan = QString(
"%1:%2").arg(spec).arg(tuning.
m_frequency);
172 LOG(VB_CHANNEL, LOG_INFO,
LOC +
"Tuning to " + chan);
192 bool has_dvbc =
false;
193 bool has_dvbt =
false;
200 if (has_dvbt && has_dvbc)
std::vector< DTVTunerType > m_tunerTypes
void RegisterForMaster(const QString &key)
static void ReturnMasterLock(DTVChannelP &chan)
static const int kTunerTypeDVBC
bool Open(void) override
Opens the channel changing hardware for use.
bool IsOpen(void) const override
Reports whether channel is already open.
~HDHRChannel(void) override
void Close(void) override
Closes the channel changing hardware to use.
bool Tune(const DTVMultiplex &tuning) override
This performs the actual frequency tuning and in some cases input switching.
bool SetChannelByString(const QString &chan) override
void DeregisterForMaster(const QString &key)
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
static DTVChannel * GetMasterLock(const QString &key)
bool TuneVChannel(const QString &vchn)
HDHRStreamHandler * m_streamHandler
std::vector< DTVTunerType > GetTunerTypes(void) const
static QString format_dvbc(const DTVMultiplex &tuning, const QString &mod)
static void Return(HDHRStreamHandler *&ref, int inputid)
static const int kTunerTypeUnknown
void SetSIStandard(const QString &si_std)
Sets PSIP table standard: MPEG, DVB, ATSC, or OpenCable.
static QString format_dvbt(const DTVMultiplex &tuning)
bool SetChannelByString(const QString &channum) override
bool IsConnected(void) const
QString GetDevice(void) const override
Returns String representing device, useful for debugging.
#define LOC
HDHRChannel Copyright (c) 2006-2009 by Silicondust Engineering Ltd.
bool TuneChannel(const QString &chanid)
bool IsMaster(void) const override
Returns true if this is the first of a number of multi-rec devs.
This is the coordinating class of the Recorder Subsystem.
virtual int GetInputID(void) const
bool EnterPowerSavingMode(void) override
Enters power saving mode if the card supports it.
DTVModulation m_modulation
static const int kTunerTypeATSC
HDHRChannel(TVRec *parent, QString device)
static QString get_tune_spec(const DTVTunerType tunerType, const DTVMultiplex &tuning)
Class providing a generic interface to digital tuning hardware.
static HDHRStreamHandler * Get(const QString &devname, int inputid, int majorid)
static const int kTunerTypeDVBT
static const int kTunerTypeDVBT2
virtual bool InitializeInput(void)
Fills in input map from DB.
static QString format_modulation(const DTVMultiplex &tuning)