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);
107 static char Polarizations[] = {
'H',
'V',
'L',
'R' };
109 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 };
111 static int Modulations[] = { QAM_AUTO, QPSK, PSK_8, QAM_16 };
114 static int RollOffs[] = { ROLLOFF_35, ROLLOFF_25, ROLLOFF_20, ROLLOFF_AUTO };
120 bool forceTransponderUpdate =
false;
131 for (
int n = 0; n < NumFrequencies; n++) {
133 Frequency = Frequencies[n];
141 forceTransponderUpdate =
true;
144 if (!found || forceTransponderUpdate) {
145 for (
int n = 0; n < NumFrequencies; n++) {
166 dbgnit(
" stream id = %d\n", dtp.StreamId());
180 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 };
182 static int Modulations[] = { QPSK, QAM_16, QAM_32, QAM_64, QAM_128, QAM_256, QAM_AUTO };
188 bool forceTransponderUpdate =
false;
195 for (
int n = 0; n < NumFrequencies; n++) {
197 Frequency = Frequencies[n];
205 forceTransponderUpdate =
true;
208 if (!found || forceTransponderUpdate) {
209 for (
int n = 0; n < NumFrequencies; n++) {
227 int Frequency = Frequencies[0] = sd->
getFrequency() * 10;
228 static int Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 0, 0, 0, 0 };
230 static int Constellations[] = { QPSK, QAM_16, QAM_64, QAM_AUTO };
233 static int Hierarchies[] = { HIERARCHY_NONE, HIERARCHY_1, HIERARCHY_2, HIERARCHY_4, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO, HIERARCHY_AUTO };
235 static int CodeRates[] = { FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8, FEC_AUTO, FEC_AUTO, FEC_AUTO };
238 static int GuardIntervals[] = { GUARD_INTERVAL_1_32, GUARD_INTERVAL_1_16, GUARD_INTERVAL_1_8, GUARD_INTERVAL_1_4 };
240 static int TransmissionModes[] = { TRANSMISSION_MODE_2K, TRANSMISSION_MODE_8K,
TRANSMISSION_MODE_4K, TRANSMISSION_MODE_AUTO };
245 bool forceTransponderUpdate =
false;
262 for (
int n = 0; n < NumFrequencies; n++) {
264 Frequency = Frequencies[n];
272 forceTransponderUpdate =
true;
275 if (!found || forceTransponderUpdate) {
276 for (
int n = 0; n < NumFrequencies; n++) {
307 static int T2Bandwidths[] = { 8000000, 7000000, 6000000, 5000000, 10000000, 1712000, 0, 0 };
315 dbgnit(
" stream id = %d\n", dtp.StreamId());
373 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)