1 #ifndef __epgchanneldata_h_
2 #define __epgchanneldata_h_
14 class freesatEITSubtableStatus;
17 #define MjdToEpochTime(x) (((x##_hi << 8 | x##_lo)-40587)*86400)
18 #define BcdTimeToSeconds(x) ((3600 * ((10*((x##_h & 0xF0)>>4)) + (x##_h & 0xF))) + (60 * ((10*((x##_m & 0xF0)>>4)) + (x##_m & 0xF))) + ((10*((x##_s & 0xF0)>>4)) + (x##_s & 0xF)))
22 #define FILE_EQUIV "/etc/mhw_Equiv.epg"
23 #define FILE_CHANNELS "/etc/mhw_Chann.epg"
24 #define FILE_LOG "/tmp/mhw_Log.epg"
26 #define EPG_REPLAY_LEN 8
28 typedef struct epg_replay {
30 u_char replay_mjd_hi :8;
31 u_char replay_mjd_lo :8;
32 u_char replay_time_h :8;
33 u_char replay_time_m :8;
34 u_char replay_time_s :8;
36 #if BYTE_ORDER == BIG_ENDIAN
54 u_char original_nid_hi;
55 u_char original_nid_lo;
56 u_char original_tid_hi;
57 u_char original_tid_lo;
58 u_char original_sid_hi;
59 u_char original_sid_lo;
66 } mhw_channel_equiv_t;
79 pthread_mutex_t channel_active;
85 unsigned int isRunning, haveData;
87 ePtr<eConnection> m_stateChangedConn, m_NowNextConn, m_ScheduleConn, m_ScheduleOtherConn, m_ViasatConn;
89 tidMap seenSections[4], calcedSections[4];
101 std::map<uint32_t, freesatEITSubtableStatus> m_FreeSatSubTableStatus;
102 uint32_t m_FreesatTablesToComplete;
103 void readFreeSatScheduleOtherData(
const uint8_t *
data);
104 void cleanupFreeSat();
106 #ifdef ENABLE_PRIVATE_EPG
113 std::set<uint8_t> seenPrivateSections;
114 void readPrivateData(
const uint8_t *
data);
115 void startPrivateReader();
117 #ifdef ENABLE_MHW_EPG
118 std::vector<mhw_channel_name_t> m_channels;
119 std::vector<mhw_channel_equiv_t> m_equiv;
120 std::map<uint8_t, mhw_theme_name_t> m_themes;
121 std::map<uint32_t, mhw_title_t> m_titles;
122 std::multimap<uint32_t, uint32_t> m_program_ids;
127 uint16_t m_mhw2_channel_pid, m_mhw2_title_pid, m_mhw2_summary_pid;
129 void MHWTimeout() { m_MHWTimeoutet=
true; }
130 void readMHWData(
const uint8_t *
data);
131 void readMHWData2(
const uint8_t *
data);
132 void readMHWData2_old(
const uint8_t *
data);
133 void startMHWReader(uint16_t pid, uint8_t tid);
134 void startMHWReader2(uint16_t pid, uint8_t tid,
int ext=-1);
135 void startMHWTimeout(
int msek);
136 bool checkMHWTimeout() {
return m_MHWTimeoutet; }
138 uint8_t *delimitName( uint8_t *in, uint8_t *out,
int len_in );
139 void timeMHW2DVB( u_char hours, u_char minutes, u_char *return_time);
140 void timeMHW2DVB(
int minutes, u_char *return_time);
141 void timeMHW2DVB( u_char day, u_char hours, u_char minutes, u_char *return_time);
142 void storeMHWTitle(std::map<uint32_t, mhw_title_t>::iterator itTitle, std::string sumText,
const uint8_t *
data);
147 void log_add (
const char *message, ...);
150 int m_atsc_eit_index;
151 std::map<uint16_t, uint16_t> m_ATSC_VCT_map;
152 std::map<uint32_t, std::string> m_ATSC_ETT_map;
157 uint32_t lengthInSeconds;
160 std::map<uint32_t, struct atsc_event> m_ATSC_EIT_map;
162 ePtr<eConnection> m_ATSC_VCTConn, m_ATSC_MGTConn, m_ATSC_EITConn, m_ATSC_ETTConn;
163 void ATSC_checkCompletion();
164 void ATSC_VCTsection(
const uint8_t *d);
165 void ATSC_MGTsection(
const uint8_t *d);
166 void ATSC_EITsection(
const uint8_t *d);
167 void ATSC_ETTsection(
const uint8_t *d);
171 typedef std::tr1::unordered_map<uint32_t, std::string> OpenTvDescriptorMap;
172 int m_OPENTV_EIT_index;
173 uint16_t m_OPENTV_pid;
174 uint32_t m_OPENTV_crc32;
175 uint32_t opentv_title_crc32;
176 bool huffman_dictionary_read;
177 struct opentv_channel
179 uint16_t originalNetworkId;
180 uint16_t transportStreamId;
191 OpenTvDescriptorMap m_OPENTV_descriptors_map;
192 std::map<uint16_t, struct opentv_channel> m_OPENTV_channels_map;
193 std::map<uint32_t, struct opentv_event> m_OPENTV_EIT_map;
196 ePtr<eConnection> m_OPENTV_ChannelsConn, m_OPENTV_TitlesConn, m_OPENTV_SummariesConn;
197 void OPENTV_checkCompletion(
const uint32_t data_crc);
198 void OPENTV_ChannelsSection(
const uint8_t *d);
199 void OPENTV_TitlesSection(
const uint8_t *d);
200 void OPENTV_SummariesSection(
const uint8_t *d);
201 void cleanupOPENTV();
203 void readData(
const uint8_t *
data,
int source);
208 void abortNonAvail();
Definition: epgcache.h:113
friend class eEPGChannelData
Definition: epgcache.h:142
Definition: epgchanneldata.h:75
Definition: epgtransponderdatareader.h:52
std::set< uint32_t > tidMap
Definition: epgchanneldata.h:69
unsigned char data[256]
Definition: hdmi_cec.h:2
source
Definition: enigma_py_patcher.py:9
Definition: epgcache.h:30