add VIASAT EPG based on martii

Origin commit data
------------------
Commit: eb81369965
Author: TangoCash <eric@loxat.de>
Date: 2015-05-13 (Wed, 13 May 2015)
This commit is contained in:
TangoCash
2015-05-13 21:14:03 +02:00
committed by vanhofen
parent 7e9ed04653
commit fb75e9bac2
2 changed files with 18 additions and 4 deletions

View File

@@ -272,7 +272,7 @@ int DMX::getSection(uint8_t *buf, const unsigned timeoutInMSeconds, int &timeout
eit_extended_section_header *eit_extended_header;
/* filter == 0 && maks == 0 => EIT dummy filter to slow down EIT thread startup */
if (pID == 0x12 && filters[filter_index].filter == 0 && filters[filter_index].mask == 0)
if ((pID == 0x12 || pID == 0x39) && filters[filter_index].filter == 0 && filters[filter_index].mask == 0)
{
//dprintf("dmx: dummy filter, sleeping for %d ms\n", timeoutInMSeconds);
usleep(timeoutInMSeconds * 1000);
@@ -392,7 +392,7 @@ int DMX::getSection(uint8_t *buf, const unsigned timeoutInMSeconds, int &timeout
unsigned short current_tsid = 0;
uint8_t segment_last_section_number = last_section_number;
if (pID == 0x12) {
if (pID == 0x12 || pID == 0x39) {
eit_extended_header = (eit_extended_section_header *)(buf+8);
current_onid = eit_extended_header->original_network_id_hi * 256 +
eit_extended_header->original_network_id_lo;
@@ -404,7 +404,7 @@ int DMX::getSection(uint8_t *buf, const unsigned timeoutInMSeconds, int &timeout
sections_id_t s_id = create_sections_id(table_id, eh_tbl_extension_id, current_onid, current_tsid, section_number);
bool complete = false;
if (pID == 0x12)
if (pID == 0x12 || pID == 0x39)
complete = check_complete(s_id, section_number, last_section_number, segment_last_section_number);
/* if we are not caching the already read sections (CN-thread), check EIT version and get out */
@@ -647,7 +647,7 @@ int DMX::change(const int new_filter_index, const t_channel_id new_current_servi
}
if (sections_debug) { // friendly debug output...
if(pID==0x12 && filters[0].filter != 0x4e) { // Only EIT
if((pID==0x12 || pID==0x39) && filters[0].filter != 0x4e) { // Only EIT
printdate_ms(stderr);
fprintf(stderr, "changeDMX [EIT]-> %d (0x%x/0x%x) %s (%ld seconds)\n",
new_filter_index, filters[new_filter_index].filter,