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" 126 int PrintParameter(
char *p,
char Name,
int Value)
const;
127 const char *ParseParameter(
const char *s,
int &Value,
const tDvbParameterMap *Map = NULL);
136 int System(
void)
const {
return system; }
138 int Guard(
void)
const {
return guard; }
144 int Pilot(
void)
const {
return pilot; }
145 int Lcn(
void)
const {
return lcn; }
162 cString ToString(
char Type)
const;
163 bool Parse(
const char *s);
172 static cString DvbName(
const char *Name,
int Adapter,
int Frontend);
173 static int DvbOpen(
const char *Name,
int Adapter,
int Frontend,
int Mode,
bool ReportError =
false);
175 static bool Exists(
int Adapter,
int Frontend);
177 static bool Probe(
int Adapter,
int Frontend);
180 static bool Initialize(
void);
195 bool QueryDeliverySystems(
int fd_frontend);
201 virtual cString DeviceType(
void)
const;
202 virtual cString DeviceName(
void)
const;
203 static bool BondDevices(
const char *Bondings);
209 static void UnBondDevices(
void);
223 bool BondingOk(
const cChannel *Channel,
bool ConsiderOccupied =
false)
const;
241 virtual bool ProvidesDeliverySystem(
int DeliverySystem)
const;
242 virtual bool ProvidesSource(
int Source)
const;
243 virtual bool ProvidesTransponder(
const cChannel *Channel)
const;
244 virtual bool ProvidesChannel(
const cChannel *Channel,
int Priority =
IDLEPRIORITY,
bool *NeedsDetachReceivers = NULL)
const;
245 virtual bool ProvidesEIT(
void)
const;
246 virtual int NumProvidedSystems(
void)
const;
248 virtual int SignalStrength(
void)
const;
249 virtual int SignalQuality(
void)
const;
250 virtual const cChannel *GetCurrentlyTunedTransponder(
void)
const;
251 virtual bool IsTunedToTransponder(
const cChannel *Channel)
const;
252 virtual bool MaySwitchTransponder(
const cChannel *Channel)
const;
254 virtual bool SetChannelDevice(
const cChannel *Channel,
bool LiveView);
256 virtual bool HasLock(
int TimeoutMs = 0)
const;
261 virtual bool SetPid(
cPidHandle *Handle,
int Type,
bool On);
266 virtual int OpenFilter(u_short Pid,
u_char Tid,
u_char Mask);
267 virtual void CloseFilter(
int Handle);
272 virtual bool HasCi(
void);
279 static void SetTransferModeForDolbyDigital(
int Mode);
291 virtual bool OpenDvr(
void);
292 virtual void CloseDvr(
void);
293 virtual bool GetTSPacket(
uchar *&Data);
294 virtual void DetachAllReceivers(
void);
307 static uint32_t GetSubsystemId(
int Adapter,
int Frontend);
308 virtual bool Probe(
int Adapter,
int Frontend) = 0;
316 #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)