diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-04-21 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2003-04-21 18:00:00 +0200 |
commit | 21a52ccb6d43cce35f7a381f55ea291195416f33 (patch) | |
tree | bc7d86214e695434ca7170bff799bcc4aaca5401 /eit.h | |
parent | 9f919801465f49be6b2118f54bd54df846e2f865 (diff) | |
download | vdr-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.h | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -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); |