50 #ifndef ISDBTFRONTEND_H_
51 #define ISDBTFRONTEND_H_
53 #include "system/compat/SystemCompat.h"
54 using namespace ::br::pucrio::telemidia::ginga::core::system::compat;
56 #include <sys/types.h>
58 #include <sys/ioctl.h>
64 #include "system/thread/Thread.h"
65 using namespace ::br::pucrio::telemidia::ginga::core::system::thread;
67 #include "../frontend_parameter.h"
69 #include "../IFrontendFilter.h"
70 #include "../../IChannel.h"
91 static const int IFE_FORCED_MIN_FREQ = 450143000;
92 static const int IFE_FORCED_STEP_SIZE = 1000000;
94 static const short IFE_MAX_FILTERS = 20;
96 static struct pollfd pollFds[ISDBTFrontend::IFE_MAX_FILTERS];
98 struct dvb_frontend_parameters params;
99 struct dvb_frontend_info info;
103 fe_status_t feStatus;
104 unsigned int currentFreq;
105 static bool firstFilter;
106 static vector<IFrontendFilter*>* runningFilters;
107 static vector<ActionsToFilters*>* actsToRunningFilters;
110 static const string IFE_FE_DEV_NAME;
111 static const string IFE_DVR_DEV_NAME;
112 static const string IFE_DEMUX_DEV_NAME;
115 ISDBTFrontend(int feFd);
116 virtual ~ISDBTFrontend();
121 void initIsdbtParameters();
122 void dumpFrontendInfo();
123 void updateIsdbtFrontendParameters();
127 bool getSTCValue(uint64_t* stc, int* valueType);
128 bool changeFrequency(unsigned int frequency);
129 void scanFrequencies(vector<IChannel*>* channels);
131 void attachFilter(IFrontendFilter* filter);
132 int createPesFilter(int pid, int pesType, bool compositeFiler);
133 void removeFilter(IFrontendFilter* filter);
Definition: ISDBTFrontend.h:78
Definition: IFrontendFilter.h:59
Definition: ISDBTFrontend.h:89