Merge remote-tracking branch 'uncool/cst-next'

This need buildfixes and some functional updates...


Origin commit data
------------------
Commit: eeee5bacab
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2015-12-13 (Sun, 13 Dec 2015)
This commit is contained in:
Stefan Seyfried
2015-12-13 17:41:55 +01:00
320 changed files with 21291 additions and 13199 deletions

View File

@@ -276,8 +276,14 @@ int DMX::getSection(uint8_t *buf, const unsigned timeoutInMSeconds, int &timeout
eit_extended_section_header *eit_extended_header;
bool use_viasat_epg_pid = false;
#ifdef ENABLE_VIASATEPG
if (pID == 0x39)
use_viasat_epg_pid = true;
#endif
/* 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 || use_viasat_epg_pid) && filters[filter_index].filter == 0 && filters[filter_index].mask == 0)
{
//dprintf("dmx: dummy filter, sleeping for %d ms\n", timeoutInMSeconds);
usleep(timeoutInMSeconds * 1000);
@@ -397,7 +403,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 || use_viasat_epg_pid) {
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;
@@ -409,7 +415,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 || use_viasat_epg_pid)
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 */
@@ -654,7 +660,12 @@ 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
bool use_viasat_epg_pid = false;
#ifdef ENABLE_VIASATEPG
if (pID == 0x39)
use_viasat_epg_pid = true;
#endif
if((pID==0x12 || use_viasat_epg_pid) && 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,