mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
- Fixed updating the "Info" button in the "Timers" menu. - Reduced the number of events to actually check when setting events to timers. - cMenuEditIntItem now checks the given value and forces it to be between the given min and max limits. - The status changes of EPG events are now logged for all channels that have timers. - Removed the log message "deleting plugin: ..." when shutting down VDR (thanks to Christoph Haubrich for reporting that this is irritating when calling "vdr --help"). - Fixed cReadLine::Read() for lines that end with the infamous "\r\n" (thanks to Rolf Ahrenberg). - Fixed cDvbDevice::SetAudioBypass() in case setTransferModeForDolbyDigital is false (thanks to Werner Fink). - Updated 'sources.conf' (thanks to Oleg Roitburd). - Fixed the shutdown timeout (thanks to Alexander Wenzel). - Only calling RemoveEmptyVideoDirectories() once in case a recording has been deleted (reported by Hardy Flor). - Fixed deleting recordings that have been removed externally when running out of disk space (reported by Jan Lenz). - Fixed handling repeating VPS timers (they stopped recording too early). - Timer log messages now show "VPS" if this is a VPS timer. - Fixed getting the present EPG event in case none is currently 'running' (it then returns the one that just ended). - Fixed calling a plugin's main menu function while a message is being displayed (reported by Helmut Auer). - Updated the Russian OSD texts (thanks to Oleg Roitburd). - Made cMenuRecordings::GetRecording() 'protected' (suggested by Marius Heidenstecker). - Speeded up cRemux::ScanVideoPacket() (thanks to Reinhard Nissl). - Enhanced logging EPG event data. - Fixed format string handling (thanks to Darren Salt). - The new function cDevice::ForceTransferMode() can be used to force the primary device into transfer mode (thanks to Reinhard Nissl). - The 'version' of EPG events is now ignored when reading EPG data from 'epg.data' or via SVDRP/PUTE to avoid problems with double EPG events. - The 'running status' of EPG events is now only set to SI::RunningStatusNotRunning for events before the present event. - Fixed some #include sequences. - Single shot VPS timers are now only considered 'expired' if their associated EPG event has been explicitly set to SI::RunningStatusNotRunning. - The check for timers to be deleted is now done only every 30 seconds.
45 lines
1.5 KiB
C++
45 lines
1.5 KiB
C++
/*
|
|
* pat.h: PAT section filter
|
|
*
|
|
* See the main source file 'vdr.c' for copyright information and
|
|
* how to reach the author.
|
|
*
|
|
* $Id: pat.h 1.5 2006/03/26 14:09:43 kls Exp $
|
|
*/
|
|
|
|
#ifndef __PAT_H
|
|
#define __PAT_H
|
|
|
|
#include <stdint.h>
|
|
#include "filter.h"
|
|
|
|
#define MAXPMTENTRIES 64
|
|
|
|
class cPatFilter : public cFilter {
|
|
private:
|
|
time_t lastPmtScan;
|
|
int pmtIndex;
|
|
int pmtPid;
|
|
uint64_t pmtVersion[MAXPMTENTRIES];
|
|
int numPmtEntries;
|
|
bool PmtVersionChanged(int PmtPid, int Sid, int Version);
|
|
protected:
|
|
virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length);
|
|
public:
|
|
cPatFilter(void);
|
|
virtual void SetStatus(bool On);
|
|
void Trigger(void);
|
|
};
|
|
|
|
int GetCaDescriptors(int Source, int Transponder, int ServiceId, const unsigned short *CaSystemIds, int BufSize, uchar *Data, bool &StreamFlag);
|
|
///< 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). 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.
|
|
///< The return value in StreamFlag tells whether these CA descriptors are to be used
|
|
///< for the individual streams.
|
|
|
|
#endif //__PAT_H
|