Go to the documentation of this file.
11 #include <linux/dvb/frontend.h>
19 #define DVB_SYSTEM_1 0 // see also dvbdevice.c
20 #define DVB_SYSTEM_2 1
22 #define MAXNETWORKNAME Utf8BufSize(256)
27 #define dbgnit(a...) if (DebugNit) fprintf(stderr, a)
68 bool ChannelsModified =
false;
76 int Frequencies[NumFrequencies];
84 case 1: f =
BCD2INT(f) / 100;
break;
85 case 2: f =
BCD2INT(f) / 10;
break;
86 case 3: f = f * 10;
break;
90 dbgnit(
" Frequencies[%d] = %d\n", n - 1, f);
99 bool ForceDVBS2 =
false;
116 static char Polarizations[] = {
'H',
'V',
'L',
'R' };
118 static int CodeRates[] = { FEC_NONE, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_8_9, FEC_3_5, FEC_4_5, FEC_9_10, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_NONE };
120 static int Modulations[] = { QAM_AUTO, QPSK, PSK_8, QAM_16 };
124 static int RollOffs[] = { ROLLOFF_35, ROLLOFF_25, ROLLOFF_20, ROLLOFF_AUTO };
130 bool forceTransponderUpdate =
false;
139 for (
int n = 0; n < NumFrequencies; n++) {
141 Frequency = Frequencies[n];
152 forceTransponderUpdate =
true;
155 if (!found || forceTransponderUpdate) {
156 for (
int n = 0; n < NumFrequencies; n++) {
189 static int CodeRates[] = { FEC_NONE, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_8_9, FEC_3_5, FEC_4_5, FEC_9_10, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_AUTO, FEC_NONE };
191 static int Modulations[] = { QPSK, QAM_16, QAM_32, QAM_64, QAM_128, QAM_256, QAM_AUTO };
197 bool forceTransponderUpdate =
false;
202 for (
int n = 0; n < NumFrequencies; n++) {
204 Frequency = Frequencies[n];
215 forceTransponderUpdate =
true;
218 if (!found || forceTransponderUpdate) {
219 for (
int n = 0; n < NumFrequencies; n++) {
235 int Frequency = Frequencies[0] = sd->
getFrequency() * 10;
236 static int Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 0, 0, 0, 0 };
238 static int Constellations[] = { QPSK, QAM_16, QAM_64, QAM_AUTO };
241 static int Hierarchies[] = { HIERARCHY_NONE, HIERARCHY_1, HIERARCHY_2, HIERARCHY_4, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO };
243 static int CodeRates[] = { FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_AUTO, FEC_AUTO, FEC_AUTO };
246 static int GuardIntervals[] = { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_4 };
248 static int TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K,
TRANSMISSION_MODE_4K, TRANSMISSION_MODE_AUTO };
253 bool forceTransponderUpdate =
false;
268 for (
int n = 0; n < NumFrequencies; n++) {
270 Frequency = Frequencies[n];
281 forceTransponderUpdate =
true;
284 if (!found || forceTransponderUpdate) {
285 for (
int n = 0; n < NumFrequencies; n++) {
314 static int T2Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 10000000, 1712000, 0, 0 };
378 StateKey.
Remove(ChannelsModified);
virtual void SetStatus(bool On)
Turns this filter on or off, depending on the value of On.
int getT2SystemId() const
int Hierarchy(void) const
int Transponder(void)
Returns the transponder of the data delivered to this filter.
int getModulationType() const
void Set(u_short Pid, u_char Tid, u_char Mask=0xFF)
Sets the given filter data by calling Add() with Sticky = true.
int getTransmissionMode() const
virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length)
Processes the data delivered to this filter.
const char * Parameters(void) const
static cString ToString(int Code)
@ NetworkNameDescriptorTag
@ TerrestrialDeliverySystemDescriptorTag
cNitFilter(cSdtFilter *SdtFilter)
void SetModulation(int Modulation)
@ LogicalChannelDescriptorTag
int getGuardInterval() const
static int FromData(eSourceType SourceType, int Position=0, bool East=false)
int getModulation() const
int getPolarization() const
@ S2SatelliteDeliverySystemDescriptorTag
int getExtensionDescriptorTag() const
bool hasNext(Iterator &it)
void SetTransmission(int Transmission)
void SetT2SystemId(int T2SystemId)
static cChannels * GetChannelsWrite(cStateKey &StateKey, int TimeoutMs=0)
Gets the list of channels for write access.
int getLastSectionNumber() const
@ HdSimulcastLogicalChannelDescriptorTag
bool SetId(cChannels *Channels, int Nid, int Tid, int Sid, int Rid=0)
int getModulationSystem() const
int getSectionNumber() const
T getNext(Iterator &it) const
virtual void SetStatus(bool On)
Turns this filter on or off, depending on the value of On.
int Transponder(void) const
Returns the transponder frequency in MHz, plus the polarization in case of sat.
int getOrbitalPosition() const
cString ToString(char Type) const
bool SetTransponderData(int Source, int Frequency, int Srate, const char *Parameters, bool Quiet=false)
StructureLoop< HdSimulcastLogicalChannel > hdSimulcastLogicalChannelLoop
int getTransmissionMode() const
int T2SystemId(void) const
DescriptorTag getDescriptorTag() const
void Remove(bool IncState=true)
Removes this key from the lock it was previously used with.
int getGuardInterval() const
void SetSisoMiso(int SisoMiso)
const cChannel * Channel(void)
Returns the channel of the data delivered to this filter.
bool Processed(int SectionNumber, int LastSectionNumber, int SegmentLastSectionNumber=-1)
Marks the given SectionNumber as processed.
bool GroupSep(void) const
int Bandwidth(void) const
int getLogicalChannelNumber() const
const T * First(void) const
Returns the first element in this list, or NULL if the list is empty.
@ CableDeliverySystemDescriptorTag
void SetHierarchy(int Hierarchy)
int getExtendedDataFlag() const
int getConstellation() const
void SetStreamId(int StreamId)
int CoderateH(void) const
cSectionSyncer sectionSyncer
@ FrequencyListDescriptorTag
int getSymbolRate() const
void SetSystem(int System)
int CoderateL(void) const
@ T2DeliverySystemDescriptorTag
int getOriginalNetworkId() const
void AddTransponder(cChannel *Channel)
DescriptorLoop transportStreamDescriptors
int getCodeRateLP() const
#define ISTRANSPONDER(f1, f2)
int getWestEastFlag() const
bool Check(uchar Version, int SectionNumber)
Returns true if Version is not the current version, or the given SectionNumber has not been marked as...
void SetCoderateH(int CoderateH)
int Transmission(void) const
Descriptor * getNext(Iterator &it)
int getCodingType() const
int getSymbolRate() const
int Frequency(void) const
Returns the actual frequency, as given in 'channels.conf'.
int getInputStreamIdentifier() const
StructureLoop< LogicalChannel > logicalChannelLoop
StructureLoop< TransportStream > transportStreamLoop
static bool IsSat(int Code)
const T * Next(const T *Object) const
< Returns the element immediately before Object in this list, or NULL if Object is the first element ...
void SetBandwidth(int Bandwidth)
int Modulation(void) const
int Source(void)
Returns the source of the data delivered to this filter.
void SetCoderateL(int CoderateL)
@ SatelliteDeliverySystemDescriptorTag
void SetPolarization(char Polarization)
DescriptorLoop commonDescriptors
char Polarization(void) const
int getVersionNumber() const
int getLogicalChannelNumber() const
void SetRollOff(int RollOff)
int getCodeRateHP() const
int getTransportStreamId() const
int getVisibleServiceFlag() const
int getVisibleServiceFlag() const
TypeLoop< ThirtyTwoBit > frequencies