Version 1.1.21

- Fixed the 'channels.conf' entries for "Studio Universal" and "Disney Channel".
- Fixed handling channels in the "Channels" menu in case there are ':@nnn' group
  separators without names (thanks to Guy Roussin for reporting this one).
- The SVDRP command CHAN now also accepts channel IDs.
- Increased the timeout until an index file is considerd no longer to be written
  (sometimes in time shift with heavy system load the index file was closed too
  early by the replay thread).
- Implemented "Link Layer" based CAM support, which hopefully will solve the
  problems with CAMs we had in the past. To use this you need the driver version
  2002-01-08 or higher (with the new firmware supporting the "Link Layer" protocol).
- Added an EPG bugfix that moves the Subtitle data to the Extended Description in
  case the latter is empty and the Subtitle exceeds some useful length.
- Since several channels put very long strings into the Subtitle part of their
  EPG data, that string is now limited in length when used in a recording's
  file name.
This commit is contained in:
Klaus Schmidinger
2003-01-10 18:00:00 +01:00
parent 48fd2b04e9
commit 3e1d34f392
21 changed files with 2196 additions and 53 deletions

16
eit.h
View File

@@ -16,7 +16,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* $Id: eit.h 1.22 2002/11/24 12:45:55 kls Exp $
* $Id: eit.h 1.23 2003/01/04 10:12:54 kls Exp $
***************************************************************************/
#ifndef __EIT_H
@@ -134,21 +134,29 @@ typedef struct sip_filter {
}SIP_FILTER;
class cCaDescriptor;
class cCaDescriptors;
class cSIProcessor : public cThread {
private:
static int numSIProcessors;
static cSchedules *schedules;
static cMutex schedulesMutex;
static cCaDescriptors *caDescriptors;
static cMutex caDescriptorsMutex;
static const char *epgDataFileName;
static time_t lastDump;
bool masterSIProcessor;
int currentSource;
int currentTransponder;
int pmtIndex;
int pmtPid;
SIP_FILTER *filters;
char *fileName;
bool active;
void Action(void);
bool AddFilter(u_char pid, u_char tid);
bool DelFilter(u_char pid, u_char tid);
bool ShutDownFilters(void);
public:
cSIProcessor(const char *FileName);
@@ -159,6 +167,12 @@ public:
// Caller must provide a cMutexLock which has to survive the entire
// time the returned cSchedules is accessed. Once the cSchedules is no
// longer used, the cMutexLock must be destroyed.
static int GetCaDescriptors(int Source, int Transponder, int ServiceId, int BufSize, uchar *Data);
///< Gets all CA descriptors for a given channel.
///< Copies all available CA descriptors for the given Source, Transponder and ServiceId
///< into the provided buffer at Data (at most BufSize bytes).
///< \return Returns the number of bytes copied into Data (0 if no CA descriptors are
///< available), or -1 if BufSize was too small to hold all CA descriptors.
static bool Read(FILE *f = NULL);
static void Clear(void);
void SetStatus(bool On);