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) 70 bool ChannelsModified =
false;
78 int Frequencies[NumFrequencies];
86 case 1: f =
BCD2INT(f) / 100;
break;
87 case 2: f =
BCD2INT(f) / 10;
break;
88 case 3: f = f * 10;
break;
92 dbgnit(
" Frequencies[%d] = %d\n", n - 1, f);
101 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];
153 forceTransponderUpdate =
true;
156 if (!found || forceTransponderUpdate) {
157 for (
int n = 0; n < NumFrequencies; n++) {
176 dbgnit(
" stream id = %d\n", dtp.StreamId());
190 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 };
192 static int Modulations[] = { QPSK, QAM_16, QAM_32, QAM_64, QAM_128, QAM_256, QAM_AUTO };
198 bool forceTransponderUpdate =
false;
203 for (
int n = 0; n < NumFrequencies; n++) {
205 Frequency = Frequencies[n];
217 forceTransponderUpdate =
true;
220 if (!found || forceTransponderUpdate) {
221 for (
int n = 0; n < NumFrequencies; n++) {
237 int Frequency = Frequencies[0] = sd->
getFrequency() * 10;
238 static int Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 0, 0, 0, 0 };
240 static int Constellations[] = { QPSK, QAM_16, QAM_64, QAM_AUTO };
243 static int Hierarchies[] = { HIERARCHY_NONE, HIERARCHY_1, HIERARCHY_2, HIERARCHY_4, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO };
245 static int CodeRates[] = { FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_AUTO, FEC_AUTO, FEC_AUTO };
248 static int GuardIntervals[] = { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_4 };
250 static int TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K,
TRANSMISSION_MODE_4K, TRANSMISSION_MODE_AUTO };
255 bool forceTransponderUpdate =
false;
270 for (
int n = 0; n < NumFrequencies; n++) {
272 Frequency = Frequencies[n];
284 forceTransponderUpdate =
true;
287 if (!found || forceTransponderUpdate) {
288 for (
int n = 0; n < NumFrequencies; n++) {
317 static int T2Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 10000000, 1712000, 0, 0 };
325 dbgnit(
" stream id = %d\n", dtp.StreamId());
387 StateKey.
Remove(ChannelsModified);
static cString ToString(int Code)
int getCodeRateHP() const
int CoderateH(void) const
void SetTransmission(int Transmission)
int getOriginalNetworkId() const
static char ToChar(int Code)
void SetPolarization(char Polarization)
int getVersionNumber() const
int Modulation(void) const
int getWestEastFlag() const
StructureLoop< LogicalChannel > logicalChannelLoop
int getT2SystemId() const
int getGuardInterval() const
int getModulation() const
cString ToString(char Type) const
int getGuardInterval() const
void Remove(bool IncState=true)
Removes this key from the lock it was previously used with.
const cChannel * Channel(void)
Returns the channel of the data delivered to this filter.
bool SetId(cChannels *Channels, int Nid, int Tid, int Sid, int Rid=0)
int getVisibleServiceFlag() const
cSectionSyncer sectionSyncer
void SetSisoMiso(int SisoMiso)
int getExtensionDescriptorTag() const
StructureLoop< HdSimulcastLogicalChannel > hdSimulcastLogicalChannelLoop
void SetCoderateH(int CoderateH)
void SetRollOff(int RollOff)
DescriptorLoop transportStreamDescriptors
bool SetTransponderData(int Source, int Frequency, int Srate, const char *Parameters, bool Quiet=false)
DescriptorLoop commonDescriptors
static cChannels * GetChannelsWrite(cStateKey &StateKey, int TimeoutMs=0)
Gets the list of channels for write access.
int Transponder(void) const
Returns the transponder frequency in MHz, plus the polarization in case of sat.
bool Sync(uchar Version, int Number, int LastNumber)
int Bandwidth(void) const
void SetT2SystemId(int T2SystemId)
virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length)
Processes the data delivered to this filter.
#define ISTRANSPONDER(f1, f2)
int Hierarchy(void) const
void SetSystem(int System)
int Source(void)
Returns the source of the data delivered to this filter.
bool GroupSep(void) const
int getTransmissionMode() const
StructureLoop< TransportStream > transportStreamLoop
char Polarization(void) const
static bool IsSat(int Code)
int getInputStreamIdentifier() const
virtual void SetStatus(bool On)
Turns this filter on or off, depending on the value of On.
int getConstellation() const
int getTransmissionMode() const
int getSymbolRate() const
int getTransportStreamId() const
int getOrbitalPosition() const
const T * First(void) const
Returns the first element in this list, or NULL if the list is empty.
int getSectionNumber() const
bool hasNext(Iterator &it)
int CoderateL(void) const
virtual void SetStatus(bool On)
Turns this filter on or off, depending on the value of On.
int getExtendedDataFlag() const
int T2SystemId(void) const
int Frequency(void) const
Returns the actual frequency, as given in 'channels.conf'.
int getCodingType() const
T getNext(Iterator &it) const
int getModulationType() const
int getCodeRateLP() const
int getSymbolRate() const
void SetStreamId(int StreamId)
void SetHierarchy(int Hierarchy)
int Transmission(void) const
DescriptorTag getDescriptorTag() const
int getLogicalChannelNumber() const
int Transponder(void)
Returns the transponder of the data delivered to this filter.
void Set(u_short Pid, u_char Tid, u_char Mask=0xFF)
Sets the given filter data by calling Add() with Sticky = true.
void SetCoderateL(int CoderateL)
void AddTransponder(cChannel *Channel)
int getLogicalChannelNumber() const
cNitFilter(cSdtFilter *SdtFilter)
int getPolarization() const
static int FromData(eSourceType SourceType, int Position=0, bool East=false)
const char * Parameters(void) const
TypeLoop< ThirtyTwoBit > frequencies
Descriptor * getNext(Iterator &it)
int getVisibleServiceFlag() const
int getModulationSystem() const
int getLastSectionNumber() const
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)
void SetModulation(int Modulation)