summaryrefslogtreecommitdiff
path: root/eit.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <kls (at) cadsoft (dot) de>2003-04-21 18:00:00 +0200
committerKlaus Schmidinger <kls (at) cadsoft (dot) de>2003-04-21 18:00:00 +0200
commit21a52ccb6d43cce35f7a381f55ea291195416f33 (patch)
treebc7d86214e695434ca7170bff799bcc4aaca5401 /eit.h
parent9f919801465f49be6b2118f54bd54df846e2f865 (diff)
downloadvdr-patch-lnbsharing-21a52ccb6d43cce35f7a381f55ea291195416f33.tar.gz
vdr-patch-lnbsharing-21a52ccb6d43cce35f7a381f55ea291195416f33.tar.bz2
Version 1.1.28vdr-1.1.28
- Using masks in EIT filtering to reduce the number of filters (thanks to Andreas Schultz). - Fixed handling Ca descriptors (thanks to Stefan Huelswitt). - Now only those Ca descriptors are sent to a CAM that are actually understood by that CAM. - Re-enabled CAM communication during replay and on non-Ca channels. This requires a DVB driver with firmware version 2613 or later. - It is now possible to do simultaneous recording and replay with a single DVB card, even with encrypted channels. This requires the use of the Link Layer firmware, version 2613 or higher; the -icam firmware is still limited to live encrypted channels only. Finally we have time shift for encrypted channels on single card systems! - Enhanced detection of pending user I/O from CAMs to avoid sluggish reaction to remote control keypresses. - Implemented "pause live video". You can now press "Menu/Yellow" or "Pause" on your remote control while watching live video to start an instant recording of the current programme and immediately start replaying that recording.
Diffstat (limited to 'eit.h')
-rw-r--r--eit.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/eit.h b/eit.h
index e956b01..3773334 100644
--- a/eit.h
+++ b/eit.h
@@ -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.25 2003/04/12 10:59:26 kls Exp $
+ * $Id: eit.h 1.28 2003/04/21 13:22:06 kls Exp $
***************************************************************************/
#ifndef __EIT_H
@@ -135,14 +135,13 @@ 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 cList<cCaDescriptor> caDescriptors;
static cMutex caDescriptorsMutex;
static const char *epgDataFileName;
static time_t lastDump;
@@ -155,10 +154,10 @@ private:
char *fileName;
bool active;
void Action(void);
- bool AddFilter(unsigned short pid, u_char tid);
+ bool AddFilter(unsigned short pid, u_char tid, u_char mask = 0xFF);
bool DelFilter(unsigned short pid, u_char tid);
bool ShutDownFilters(void);
- void NewCaDescriptor(struct Descriptor *d, int ProgramID);
+ void NewCaDescriptor(struct Descriptor *d, int ServiceId);
public:
cSIProcessor(const char *FileName);
~cSIProcessor();
@@ -168,10 +167,11 @@ 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);
+ static int GetCaDescriptors(int Source, int Transponder, int ServiceId, const unsigned short *CaSystemIds, 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).
+ ///< into the provided buffer at Data (at most BufSize bytes). Only those CA descriptors
+ ///< are copied that match one of the given CA system IDs.
///< \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);