50 #ifndef SECTIONFILTER_H_
51 #define SECTIONFILTER_H_
59 #include "util/functions.h"
60 using namespace ::br::pucrio::telemidia::util;
62 #include "system/thread/Thread.h"
63 using namespace ::br::pucrio::telemidia::ginga::core::system::thread;
65 #include "tsparser/IDemuxer.h"
66 #include "tsparser/ITSPacket.h"
67 #include "tsparser/ITransportSection.h"
68 #include "tsparser/IFilterListener.h"
69 using namespace ::br::pucrio::telemidia::ginga::core::tsparser;
82 namespace dataprocessing {
85 int lastContinuityCounter;
86 char sectionHeader[8];
87 unsigned int headerSize;
89 ITransportSection* section;
94 map<unsigned int, SectionHandler*> sectionPidSelector;
96 IFilterListener* listener;
97 set<string> processedSections;
100 map<int, ITransportSection*> hFilteredSections;
101 pthread_mutex_t stlMutex;
107 void addPid(
int pid){};
110 string setDestinationUri(
string dstUri){
return dstUri;};
111 void setSourceUri(
string srcUri,
bool isPipe){};
114 void ignore(
unsigned int pid);
116 void process(ITransportSection* section,
unsigned int pid);
117 void verifyAndAddData(ITSPacket* pack,
bool lastPacket);
118 bool verifyAndCreateSection(ITSPacket* pack);
119 bool setSectionParameters(ITSPacket* pack);
122 void setListener(IFilterListener* listener);
123 bool checkProcessedSections(
string sectionName);
124 void addProcessedSection(
string sectionName);
125 void removeProcessedSection(
string sectionName);
126 void clearProcessedSections();
127 bool checkSectionVersion(ITransportSection* section);
128 void receiveTSPacket(ITSPacket* pack);
129 void receiveSection(
char* buf,
int len, IFrontendFilter* filter);
130 void receivePes(
char* buf,
int len, IFrontendFilter* filter);
Definition: SectionFilter.h:83
Definition: SectionFilter.h:92