1 #ifndef _lib_dvb_fastscan_h
2 #define _lib_dvb_fastscan_h
12 #include <dvbsi++/long_crc_section.h>
13 #include <dvbsi++/service_descriptor.h>
14 #include <dvbsi++/network_name_descriptor.h>
15 #include <dvbsi++/service_list_descriptor.h>
16 #include <dvbsi++/satellite_delivery_system_descriptor.h>
93 static const int TID = 0xBD;
146 static const int TID = 0xBC;
189 template <
class Section>
203 template <
class Section>
210 unsigned char buffer[4096];
213 if (fread(buffer, 3, 1,
file) < 1)
break;
214 unsigned int sectionsize = ((buffer[1]) & 0xf) * 256 + buffer[2];
215 if (fread(&buffer[3], sectionsize, 1,
file) < 1)
break;
231 bool originalNumbering;
232 bool useFixedServiceInfo;
233 bool createRadioBouquet;
235 std::string providerName, bouquetFilename;
240 void servicesTableProgress(
int size,
int max);
241 void networkTableProgress(
int size,
int max);
242 void servicesTableReady(
int error);
243 void networkTableReady(
int error);
245 void fillBouquet(
eBouquet *bouquet, std::map<int, eServiceReferenceDVB> &numbered_channels);
250 eFastScan(
int pid,
const char *providername,
eDVBFrontendParametersSatellite transponderparameters,
bool originalnumbering =
false,
bool fixedserviceinfo =
false,
bool createRadioBouquet =
false);
253 void start(
int frontendid = 0);
254 void startFile(
const char *fnt,
const char *fst);
Definition: fastscan.h:40
FastScanLogicalChannelDescriptor(const uint8_t *const buffer)
Definition: fastscan.cpp:40
const FastScanLogicalChannelList * getChannelList(void) const
Definition: fastscan.cpp:60
FastScanLogicalChannelList channelList
Definition: fastscan.h:42
~FastScanLogicalChannelDescriptor(void)
Definition: fastscan.cpp:54
Definition: fastscan.h:20
FastScanLogicalChannel(const uint8_t *const buffer)
Definition: fastscan.cpp:14
unsigned hiddenFlag
Definition: fastscan.h:23
uint16_t getServiceId(void) const
Definition: fastscan.cpp:25
unsigned logicalChannelNumber
Definition: fastscan.h:24
unsigned serviceId
Definition: fastscan.h:22
~FastScanLogicalChannel(void)
Definition: fastscan.cpp:21
uint16_t getLogicalChannelNumber(void) const
Definition: fastscan.cpp:35
uint8_t getHiddenFlag(void) const
Definition: fastscan.cpp:30
Definition: fastscan.h:136
FastScanNetworkSection(const uint8_t *const buffer)
Definition: fastscan.cpp:268
FastScanTransportStreamList transportStreams
Definition: fastscan.h:139
static const uint32_t TIMEOUT
Definition: fastscan.h:147
const FastScanTransportStreamList * getTransportStreams(void) const
Definition: fastscan.cpp:298
static const uint16_t LENGTH
Definition: fastscan.h:145
~FastScanNetworkSection(void)
Definition: fastscan.cpp:287
uint8_t getVersion(void) const
Definition: fastscan.cpp:293
static const int TID
Definition: fastscan.h:146
Definition: fastscan.h:52
FastScanService(const uint8_t *const buffer)
Definition: fastscan.cpp:65
~FastScanService(void)
Definition: fastscan.cpp:79
unsigned transportStreamId
Definition: fastscan.h:55
unsigned defaultAudioPid
Definition: fastscan.h:58
uint16_t getServiceId(void) const
Definition: fastscan.cpp:93
uint16_t getOriginalNetworkId(void) const
Definition: fastscan.cpp:83
unsigned defaultVideoPid
Definition: fastscan.h:57
uint16_t getDefaultAudioEcmPid(void) const
Definition: fastscan.cpp:113
uint16_t getTransportStreamId(void) const
Definition: fastscan.cpp:88
uint16_t getDefaultAudioPid(void) const
Definition: fastscan.cpp:103
uint16_t getDefaultPcrPid(void) const
Definition: fastscan.cpp:118
unsigned defaultVideoEcmPid
Definition: fastscan.h:59
unsigned defaultAudioEcmPid
Definition: fastscan.h:60
uint16_t getDefaultVideoPid(void) const
Definition: fastscan.cpp:98
uint16_t getDefaultVideoEcmPid(void) const
Definition: fastscan.cpp:108
unsigned defaultPcrPid
Definition: fastscan.h:61
unsigned serviceId
Definition: fastscan.h:56
unsigned descriptorLoopLength
Definition: fastscan.h:62
unsigned originalNetworkId
Definition: fastscan.h:54
Definition: fastscan.h:83
static const int TID
Definition: fastscan.h:93
~FastScanServicesSection(void)
Definition: fastscan.cpp:139
static const uint32_t TIMEOUT
Definition: fastscan.h:94
const FastScanServiceList * getServices(void) const
Definition: fastscan.cpp:150
FastScanServicesSection(const uint8_t *const buffer)
Definition: fastscan.cpp:123
static const uint16_t LENGTH
Definition: fastscan.h:92
FastScanServiceList services
Definition: fastscan.h:86
uint8_t getVersion(void) const
Definition: fastscan.cpp:145
Definition: fastscan.h:101
uint8_t getFecInner(void) const
Definition: fastscan.cpp:250
ServiceListDescriptor * serviceList
Definition: fastscan.h:108
const FastScanLogicalChannelList * getLogicalChannelList(void) const
Definition: fastscan.cpp:262
unsigned transportStreamId
Definition: fastscan.h:103
uint16_t getOrbitalPosition(void) const
Definition: fastscan.cpp:202
uint8_t getModulation(void) const
Definition: fastscan.cpp:238
uint16_t getTransportStreamId(void) const
Definition: fastscan.cpp:197
FastScanLogicalChannelDescriptor * logicalChannels
Definition: fastscan.h:109
uint8_t getRollOff(void) const
Definition: fastscan.cpp:226
uint32_t getFrequency(void) const
Definition: fastscan.cpp:214
uint8_t getWestEastFlag(void) const
Definition: fastscan.cpp:208
FastScanTransportStream(const uint8_t *const buffer)
Definition: fastscan.cpp:155
int32_t getSymbolRate(void) const
Definition: fastscan.cpp:244
uint16_t getOriginalNetworkId(void) const
Definition: fastscan.cpp:192
SatelliteDeliverySystemDescriptor * deliverySystem
Definition: fastscan.h:107
const ServiceListItemList * getServiceList(void) const
Definition: fastscan.cpp:256
unsigned descriptorLoopLength
Definition: fastscan.h:105
unsigned originalNetworkId
Definition: fastscan.h:104
uint8_t getPolarization(void) const
Definition: fastscan.cpp:220
~FastScanTransportStream(void)
Definition: fastscan.cpp:185
uint8_t getModulationSystem(void) const
Definition: fastscan.cpp:232
Definition: fastscan.h:172
eDVBFastScanNetworkSpec(int pid)
Definition: fastscan.h:175
Definition: fastscan.h:154
eDVBFastScanServicesSpec(int pid)
Definition: fastscan.h:157
Definition: frontendparms.h:20
Definition: fastscan.h:205
void readFile(FILE *file)
Definition: fastscan.h:207
Definition: fastscan.h:224
PSignal1< void, int > scanCompleted
Definition: fastscan.h:258
void start(int frontendid=0)
Definition: fastscan.cpp:356
PSignal1< void, int > scanProgress
Definition: fastscan.h:257
eFastScan(int pid, const char *providername, eDVBFrontendParametersSatellite transponderparameters, bool originalnumbering=false, bool fixedserviceinfo=false, bool createRadioBouquet=false)
Definition: fastscan.cpp:305
~eFastScan()
Definition: fastscan.cpp:317
int getVersion()
Definition: fastscan.cpp:390
void startFile(const char *fnt, const char *fst)
Definition: fastscan.cpp:321
Definition: fastscan.h:191
int createTable(unsigned int nr, const uint8_t *data, unsigned int max)
Definition: fastscan.h:194
sigc::signal2< void, int, int > tableProgress
Definition: fastscan.h:200
Definition: esection.h:41
int createTable(unsigned int nr, const uint8_t *data, unsigned int max)
Definition: esection.h:47
std::list< FastScanService * > FastScanServiceList
Definition: fastscan.h:78
std::list< FastScanLogicalChannel * > FastScanLogicalChannelList
Definition: fastscan.h:35
std::list< FastScanTransportStream * > FastScanTransportStreamList
Definition: fastscan.h:131
FastScanLogicalChannelList::iterator FastScanLogicalChannelListIterator
Definition: fastscan.h:36
FastScanTransportStreamList::iterator FastScanTransportStreamListIterator
Definition: fastscan.h:132
FastScanServiceList::iterator FastScanServiceListIterator
Definition: fastscan.h:79
FastScanLogicalChannelList::const_iterator FastScanLogicalChannelListConstIterator
Definition: fastscan.h:37
FastScanServiceList::const_iterator FastScanServiceListConstIterator
Definition: fastscan.h:80
FastScanTransportStreamList::const_iterator FastScanTransportStreamListConstIterator
Definition: fastscan.h:133
unsigned char data[256]
Definition: hdmi_cec.h:2
size
Definition: Plugins/SystemPlugins/PositionerSetup/log.py:16
file
Definition: newplugin.py:100
#define max(a, b)
Definition: region.cpp:7
int flags
Definition: idvb.h:58
int pid
Definition: idvb.h:38
int tid
Definition: idvb.h:38
int timeout
Definition: idvb.h:40
@ tfHaveTimeout
Definition: idvb.h:54
@ tfAnyVersion
Definition: idvb.h:49
@ tfHaveTID
Definition: idvb.h:51
@ tfCheckCRC
Definition: idvb.h:53