diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-03-03 18:00:00 +0100 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2002-03-03 18:00:00 +0100 |
commit | a001a4bf97715d62b387d1da9fd1e48382508428 (patch) | |
tree | 122e77986a23e2eea92487322e4c943595fdecd7 /eit.c | |
parent | 0bad88704ba7e0346c49bb28be28e709473d9244 (diff) | |
download | vdr-patch-lnbsharing-a001a4bf97715d62b387d1da9fd1e48382508428.tar.gz vdr-patch-lnbsharing-a001a4bf97715d62b387d1da9fd1e48382508428.tar.bz2 |
Version 1.0.0pre3vdr-1.0.0pre3
- Fixed parsing 'E' records in epg2html.pl.
- Fixed a deadlock when switching channels via Schedule/Now|Next/Switch (reported
by Martin Hammerschmid).
- Changed the meaning of the 'Ca' parameter in 'channels.conf'. Each channel can
now define which decryption method it needs in order to be accessed. The new
configuration file 'ca.conf' contains the defined values, and the default
'channels.conf' has been modifed to contain the new values for 'Premiere World'
and 'ORF'. If you use the default 'channels.conf' and have the conditional
access hardware to receive encrypted channels, please make sure you copy the
file 'ca.conf' into your /video directory (or wherever your configuration files
are located) and go into the "Setup" menu and set the CICAM values according
to your hardware setup. Currently there are two possible CICAM entries per
DVB card, so any card can implement up to two different conditional access
modes (besides the default "Free To Air" mode, which is always assumed to be
available on any DVB card).
- Updated French language texts (thanks to Jean-Claude Repetto).
Diffstat (limited to 'eit.c')
-rw-r--r-- | eit.c | 22 |
1 files changed, 5 insertions, 17 deletions
@@ -16,7 +16,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: eit.c 1.38 2002/02/25 16:30:42 kls Exp $ + * $Id: eit.c 1.39 2002/03/01 16:32:11 kls Exp $ ***************************************************************************/ #include "eit.h" @@ -1047,8 +1047,6 @@ const char *cSIProcessor::GetEpgDataFileName(void) void cSIProcessor::SetStatus(bool On) { - LOCK_THREAD; - schedulesMutex.Lock(); ShutDownFilters(); if (On) { @@ -1061,7 +1059,6 @@ void cSIProcessor::SetStatus(bool On) AddFilter(0x12, 0x51); // event info, actual TS, schedule for another 4 days AddFilter(0x12, 0x61); // event info, other TS, schedule for another 4 days } - schedulesMutex.Unlock(); } /** use the vbi device to parse all relevant SI @@ -1085,20 +1082,15 @@ void cSIProcessor::Action() struct tm *ptm = localtime_r(&now, &tm_r); if (now - lastCleanup > 3600 && ptm->tm_hour == 5) { - LOCK_THREAD; - - schedulesMutex.Lock(); + cMutexLock MutexLock(&schedulesMutex); isyslog(LOG_INFO, "cleaning up schedules data"); schedules->Cleanup(); - schedulesMutex.Unlock(); lastCleanup = now; ReportEpgBugFixStats(true); } if (epgDataFileName && now - lastDump > 600) { - LOCK_THREAD; - - schedulesMutex.Lock(); + cMutexLock MutexLock(&schedulesMutex); FILE *f = fopen(GetEpgDataFileName(), "w"); if (f) { schedules->Dump(f); @@ -1107,7 +1099,6 @@ void cSIProcessor::Action() else LOG_ERROR; lastDump = now; - schedulesMutex.Unlock(); } } @@ -1162,12 +1153,9 @@ void cSIProcessor::Action() case 0x12: if (buf[0] != 0x72) { - LOCK_THREAD; - - schedulesMutex.Lock(); + cMutexLock MutexLock(&schedulesMutex); cEIT ceit(buf, seclen, schedules); ceit.ProcessEIT(buf); - schedulesMutex.Unlock(); } else dsyslog(LOG_INFO, "Received stuffing section in EIT\n"); @@ -1261,6 +1249,6 @@ bool cSIProcessor::ShutDownFilters(void) /** */ bool cSIProcessor::SetCurrentServiceID(unsigned short servid) { - LOCK_THREAD; + cMutexLock MutexLock(&schedulesMutex); return schedules ? schedules->SetCurrentServiceID(servid) : false; } |