13 #include <linux/dvb/frontend.h> 14 #include <linux/dvb/version.h> 17 #define DVBAPIVERSION (DVB_API_VERSION << 8 | DVB_API_VERSION_MINOR) 19 #if DVBAPIVERSION < 0x0500 20 #error VDR requires Linux DVB driver API version 5.0 or higher! 25 #if DVBAPIVERSION < 0x0501 34 #if DVBAPIVERSION < 0x0502 40 #if DVBAPIVERSION < 0x0503 56 #if DVBAPIVERSION < 0x0505 57 #define DTV_ENUM_DELSYS 44 60 #if DVBAPIVERSION < 0x0508 64 #define DTV_STREAM_ID 42 65 #define DTV_DVBT2_PLP_ID_LEGACY 43 70 #define MAXDELIVERYSYSTEMS 8 72 #define DEV_VIDEO "/dev/video" 73 #define DEV_DVB_BASE "/dev/dvb" 74 #define DEV_DVB_ADAPTER "adapter" 75 #define DEV_DVB_OSD "osd" 76 #define DEV_DVB_FRONTEND "frontend" 77 #define DEV_DVB_DVR "dvr" 78 #define DEV_DVB_DEMUX "demux" 79 #define DEV_DVB_VIDEO "video" 80 #define DEV_DVB_AUDIO "audio" 81 #define DEV_DVB_CA "ca" 125 int PrintParameter(
char *p,
char Name,
int Value)
const;
126 const char *ParseParameter(
const char *s,
int &Value,
const tDvbParameterMap *Map = NULL);
135 int System(
void)
const {
return system; }
137 int Guard(
void)
const {
return guard; }
143 int Pilot(
void)
const {
return pilot; }
159 cString ToString(
char Type)
const;
160 bool Parse(
const char *s);
169 static cString DvbName(
const char *Name,
int Adapter,
int Frontend);
170 static int DvbOpen(
const char *Name,
int Adapter,
int Frontend,
int Mode,
bool ReportError =
false);
172 static bool Exists(
int Adapter,
int Frontend);
174 static bool Probe(
int Adapter,
int Frontend);
177 static bool Initialize(
void);
192 bool QueryDeliverySystems(
int fd_frontend);
198 virtual cString DeviceType(
void)
const;
199 virtual cString DeviceName(
void)
const;
200 virtual bool SetIdleDevice(
bool Idle,
bool TestOnly);
202 static bool BondDevices(
const char *Bondings);
208 static void UnBondDevices(
void);
222 bool BondingOk(
const cChannel *Channel,
bool ConsiderOccupied =
false)
const;
240 virtual bool ProvidesDeliverySystem(
int DeliverySystem)
const;
241 virtual bool ProvidesSource(
int Source)
const;
242 virtual bool ProvidesTransponder(
const cChannel *Channel)
const;
243 virtual bool ProvidesChannel(
const cChannel *Channel,
int Priority =
IDLEPRIORITY,
bool *NeedsDetachReceivers = NULL)
const;
244 virtual bool ProvidesEIT(
void)
const;
245 virtual int NumProvidedSystems(
void)
const;
247 virtual int SignalStrength(
void)
const;
248 virtual int SignalQuality(
void)
const;
249 virtual const cChannel *GetCurrentlyTunedTransponder(
void)
const;
250 virtual bool IsTunedToTransponder(
const cChannel *Channel)
const;
251 virtual bool MaySwitchTransponder(
const cChannel *Channel)
const;
253 virtual bool SetChannelDevice(
const cChannel *Channel,
bool LiveView);
255 virtual bool HasLock(
int TimeoutMs = 0)
const;
260 virtual bool SetPid(
cPidHandle *Handle,
int Type,
bool On);
265 virtual int OpenFilter(u_short Pid,
u_char Tid,
u_char Mask);
266 virtual void CloseFilter(
int Handle);
271 virtual bool HasCi(
void);
278 static void SetTransferModeForDolbyDigital(
int Mode);
290 virtual bool OpenDvr(
void);
291 virtual void CloseDvr(
void);
292 virtual bool GetTSPacket(
uchar *&Data);
293 virtual void DetachAllReceivers(
void);
306 static uint32_t GetSubsystemId(
int Adapter,
int Frontend);
307 virtual bool Probe(
int Adapter,
int Frontend) = 0;
315 #endif //__DVBDEVICE_H
const tDvbParameterMap GuardValues[]
void SetTransmission(int Transmission)
void SetPolarization(char Polarization)
const tDvbParameterMap HierarchyValues[]
cTSBuffer * tsBuffer
< Controls how the DVB device handles Transfer Mode when replaying Dolby Digital audio.
int DriverIndex(int Value, const tDvbParameterMap *Map)
const tDvbParameterMap InversionValues[]
int UserIndex(int Value, const tDvbParameterMap *Map)
const tDvbParameterMap ModulationValues[]
int MapToDriver(int Value, const tDvbParameterMap *Map)
void SetSisoMiso(int SisoMiso)
int Bandwidth(void) const
void SetCoderateH(int CoderateH)
bool needsDetachBondedReceivers
void SetRollOff(int RollOff)
const tDvbParameterMap BandwidthValues[]
A steerable satellite dish generally points to the south on the northern hemisphere, and to the north on the southern hemisphere (unless you're located directly on the equator, in which case the general direction is "up").
int Modulation(void) const
const tDvbParameterMap RollOffValues[]
void SetT2SystemId(int T2SystemId)
char Polarization(void) const
const tDvbParameterMap CoderateValues[]
void SetSystem(int System)
#define MAXDELIVERYSYSTEMS
const tDvbParameterMap TransmissionValues[]
cDvbDevice * bondedDevice
const tDvbParameterMap PilotValues[]
cList< cDvbDeviceProbe > DvbDeviceProbes
dvb_frontend_info frontendInfo
const tDvbParameterMap SystemValuesSat[]
const char * MapToUserString(int Value, const tDvbParameterMap *Map)
int Transmission(void) const
static int setTransferModeForDolbyDigital
int MapToUser(int Value, const tDvbParameterMap *Map, const char **String=NULL)
int Inversion(void) const
void SetStreamId(int StreamId)
void SetHierarchy(int Hierarchy)
int CoderateH(void) const
The cDvbDevice implements a DVB device which can be accessed through the Linux DVB driver API...
void SetCoderateL(int CoderateL)
Derived cDevice classes that can receive channels will have to provide Transport Stream (TS) packets ...
void SetInversion(int Inversion)
int CoderateL(void) const
The cDevice class is the base from which actual devices can be derived.
int T2SystemId(void) const
int Hierarchy(void) const
const tDvbParameterMap SystemValuesTerr[]
void SetBandwidth(int Bandwidth)
void SetModulation(int Modulation)