diff --git a/src/sectionsd/SIsections.cpp b/src/sectionsd/SIsections.cpp index 635641c63..e36bc1938 100644 --- a/src/sectionsd/SIsections.cpp +++ b/src/sectionsd/SIsections.cpp @@ -390,7 +390,8 @@ std::string SIsectionEIT::freesatHuffmanDecode(std::string input) return uncompressed; } } while (lastch != STOP && value != 0); - uncompressed.resize(p); + + uncompressed.resize(p); return uncompressed; } else return input; @@ -421,8 +422,10 @@ void SIsectionEIT::parseShortEventDescriptor(const char *buf, SIevent &e, unsign #endif // 0 { #ifdef ENABLE_FREESATEPG - // FIXME convertDVBUTF8 - e.setName(language, buf[0] == 0x1f ? freesatHuffmanDecode(std::string(buf, evt->event_name_length)) : std::string(buf, evt->event_name_length)); +// e.setName(language, buf[0] == 0x1f ? freesatHuffmanDecode(std::string(buf, evt->event_name_length)) : std::string(buf, evt->event_name_length)); + + std::string tmp_str = buf[0] == 0x1f ? freesatHuffmanDecode(std::string(buf, evt->event_name_length)) : std::string(buf, evt->event_name_length); + e.setName(language, convertDVBUTF8(tmp_str.c_str(), tmp_str.size(), table, tsidonid)); #else //e.setName(language, std::string(buf, evt->event_name_length)); e.setName(language, convertDVBUTF8(buf, evt->event_name_length, table, tsidonid)); @@ -443,7 +446,9 @@ void SIsectionEIT::parseShortEventDescriptor(const char *buf, SIevent &e, unsign #endif // 0 { #ifdef ENABLE_FREESATEPG - e.setText(language, buf[1] == 0x1f ? freesatHuffmanDecode(std::string(++buf, textlength)) : std::string(++buf, textlength)); +// e.setText(language, buf[1] == 0x1f ? freesatHuffmanDecode(std::string(++buf, textlength)) : std::string(++buf, textlength)); + std::string tmp_str = buf[1] == 0x1f ? freesatHuffmanDecode(std::string(++buf, textlength)) : std::string(++buf, textlength); + e.setText(language, convertDVBUTF8(tmp_str.c_str(), tmp_str.size(), table, tsidonid)); #else //e.setText(language, std::string(++buf, textlength)); e.setText(language, convertDVBUTF8((++buf), textlength, table, tsidonid)); diff --git a/src/sectionsd/sectionsd.cpp b/src/sectionsd/sectionsd.cpp index 0d5348d45..159c43292 100644 --- a/src/sectionsd/sectionsd.cpp +++ b/src/sectionsd/sectionsd.cpp @@ -2739,8 +2739,13 @@ static void commandDumpStatusInformation(int /*connfd*/, char* /*data*/, const u "Total size of memory occupied by chunks\n" "handed out by malloc: %d (%dkb)\n" "Total bytes memory allocated with `sbrk' by malloc,\n" - "in bytes: %d (%dkb)\n", - ctime(&zeit), + "in bytes: %d (%dkb)\n" +#ifdef ENABLE_FREESATEPG + "FreeSat enabled\n" +#else + "" +#endif + , secondsToCache / (60*60L), secondsExtendedTextCache / (60*60L), oldEventsAre / 60, anzServices, anzNVODservices, anzEvents, anzNVODevents, anzMetaServices, // resourceUsage.ru_maxrss, resourceUsage.ru_ixrss, resourceUsage.ru_idrss, resourceUsage.ru_isrss, speicherinfo.uordblks, speicherinfo.uordblks / 1024, @@ -7095,7 +7100,7 @@ static void *fseitThread(void *) dmxFSEIT.addfilter(0x60, 0xfe); //other TS, scheduled, freesat epg is only broadcast using table_ids 0x60 (scheduled) and 0x61 (scheduled later) - if (debug) { + if (sections_debug) { int policy; struct sched_param parm; int rc = pthread_getschedparam(pthread_self(), &policy, &parm); @@ -7221,11 +7226,12 @@ static void *fseitThread(void *) messaging_zap_detected = false; unlockMessaging(); +#ifdef UPDATE_NETWORKS if (auto_scanning) { pthread_mutex_unlock( &dmxNIT.start_stop_mutex ); dmxNIT.change( 0 ); } - +#endif struct timespec abs_wait; struct timeval now; gettimeofday(&now, NULL);