fix Freesat-EPG, thx Houdini & bazi98

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1486 e54a6e83-5905-42d5-8d5c-058d10e6a962


Origin commit data
------------------
Branch: ni/coolstream
Commit: 90c5683746
Author: Jacek Jendrzej <overx300@gmail.com>
Date: 2011-05-23 (Mon, 23 May 2011)

Origin message was:
------------------
-fix Freesat-EPG, thx Houdini & bazi98

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1486 e54a6e83-5905-42d5-8d5c-058d10e6a962


------------------
This commit was generated by Migit
This commit is contained in:
Jacek Jendrzej
2011-05-23 18:50:35 +00:00
parent 77d80c430d
commit 490d015306
2 changed files with 19 additions and 8 deletions

View File

@@ -390,6 +390,7 @@ std::string SIsectionEIT::freesatHuffmanDecode(std::string input)
return uncompressed;
}
} while (lastch != STOP && value != 0);
uncompressed.resize(p);
return uncompressed;
}
@@ -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));

View File

@@ -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);