From 09a17d56e2a3f975a0467e8da4ca26c946b6ccf7 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 31 Jan 2010 15:42:00 +0100 Subject: =?UTF-8?q?Version=201.7.12=20-=20Changed=20the=20EVCONTENTMASK=5F?= =?UTF-8?q?*=20macros=20to=20enums=20and=20changed=20"mask"=20to=20"group"?= =?UTF-8?q?.=20-=20Updated=20the=20Estonian=20OSD=20texts=20(thanks=20to?= =?UTF-8?q?=20Arthur=20Konovalov).=20-=20The=20"Edit=20timer"=20menu=20can?= =?UTF-8?q?=20now=20set=20the=20folder=20for=20the=20recording=20from=20a?= =?UTF-8?q?=20list=20of=20=20=20folders=20stored=20in=20"folders.conf".=20?= =?UTF-8?q?-=20Updated=20the=20Italian=20OSD=20texts=20(thanks=20to=20Dieg?= =?UTF-8?q?o=20Pierotto).=20-=20If=20svdrphosts.conf=20contains=20only=20t?= =?UTF-8?q?he=20address=20of=20the=20local=20host,=20the=20SVDRP=20port=20?= =?UTF-8?q?=20=20is=20opened=20only=20for=20the=20local=20host=20(thanks?= =?UTF-8?q?=20to=20Manuel=20Reimer).=20-=20Renamed=20'runvdr'=20to=20'runv?= =?UTF-8?q?dr.template'=20and=20no=20longer=20copying=20it=20to=20the=20BI?= =?UTF-8?q?NDIR=20=20=20in=20'make=20install'=20(thanks=20to=20Martin=20Da?= =?UTF-8?q?uskardt).=20-=20Added=20plain=20text=20error=20messages=20to=20?= =?UTF-8?q?log=20entries=20from=20cOsd::SetAreas()=20(suggested=20=20=20by?= =?UTF-8?q?=20Rolf=20Ahrenberg).=20-=20cPalette::ClosestColor()=20now=20tr?= =?UTF-8?q?eats=20fully=20transparent=20colors=20as=20"equal";=20improved?= =?UTF-8?q?=20=20=20cDvbSpuBitmap::getMinBpp()=20(thanks=20to=20Matthieu?= =?UTF-8?q?=20Castet=20and=20Johann=20Friedrichs).=20-=20The=20new=20setup?= =?UTF-8?q?=20option=20"Miscellaneous/Channels=20wrap"=20controls=20whethe?= =?UTF-8?q?r=20the=20current=20=20=20channel=20wraps=20around=20the=20begi?= =?UTF-8?q?nning=20or=20end=20of=20the=20channel=20list=20when=20zapping?= =?UTF-8?q?=20(thanks=20=20=20to=20Matti=20Lehtim=C3=A4ki).=20-=20Fixed=20?= =?UTF-8?q?determining=20the=20frame=20duration=20on=20channels=20where=20?= =?UTF-8?q?the=20PTS=20deltas=20jitter=20by=20=20=20+/-1=20around=201800.?= =?UTF-8?q?=20-=20The=20PCR=20pid=20in=20generated=20PMTs=20is=20now=20set?= =?UTF-8?q?=20to=20the=20channel's=20PCR=20pid=20again.=20-=20Fixed=20dete?= =?UTF-8?q?rmining=20the=20frame=20duration=20on=20channels=20where=20the?= =?UTF-8?q?=20PTS=20deltas=20jitter=20by=20=20=20+/-1=20around=203600.=20-?= =?UTF-8?q?=20The=20PCR=20pid=20is=20now=20recorded=20for=20channels=20whe?= =?UTF-8?q?re=20this=20is=20different=20from=20the=20video=20=20=20PID.=20?= =?UTF-8?q?To=20facilitate=20this,=20the=20interfaces=20of=20cTransfer,=20?= =?UTF-8?q?cTransferControl,=20cRecorder=20=20=20and=20cReceiver=20have=20?= =?UTF-8?q?been=20modified,=20so=20that=20the=20PIDs=20are=20no=20longer?= =?UTF-8?q?=20given=20in=20separate=20=20=20parameters,=20but=20rather=20t?= =?UTF-8?q?he=20whole=20channel=20is=20handed=20down=20for=20processing.?= =?UTF-8?q?=20The=20old=20=20=20constructor=20of=20cReceiver=20is=20still?= =?UTF-8?q?=20available,=20but=20it=20is=20recommended=20to=20plugin=20aut?= =?UTF-8?q?hors=20=20=20that=20they=20switch=20to=20the=20new=20interface?= =?UTF-8?q?=20as=20soon=20as=20possible.=20=20=20When=20replaying=20such?= =?UTF-8?q?=20a=20recording,=20the=20PCR=20packets=20are=20sent=20to=20Pla?= =?UTF-8?q?yTsVideo()=20-=20The=20files=20"commands.conf"=20and=20"reccmd.?= =?UTF-8?q?conf"=20can=20now=20contain=20nested=20lists=20of=20=20=20comma?= =?UTF-8?q?nds.=20See=20vdr.5=20for=20information=20about=20the=20new=20fi?= =?UTF-8?q?le=20format.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- receiver.h | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) (limited to 'receiver.h') diff --git a/receiver.h b/receiver.h index 35930d2..bd98a42 100644 --- a/receiver.h +++ b/receiver.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: receiver.h 2.0 2007/01/05 11:00:36 kls Exp $ + * $Id: receiver.h 2.1 2010/01/30 10:25:19 kls Exp $ */ #ifndef __RECEIVER_H @@ -14,6 +14,8 @@ #define MAXRECEIVEPIDS 64 // the maximum number of PIDs per receiver +#define LEGACY_CRECEIVER // Code enclosed with this macro is deprecated and may be removed in a future version + class cReceiver { friend class cDevice; private: @@ -38,20 +40,35 @@ protected: ///< will be delivered only ONCE, so the cReceiver must make sure that ///< it will be able to buffer the data if necessary. public: +#ifdef LEGACY_CRECEIVER cReceiver(tChannelID ChannelID, int Priority, int Pid, const int *Pids1 = NULL, const int *Pids2 = NULL, const int *Pids3 = NULL); - ///< Creates a new receiver for the channel with the given ChannelID with - ///< the given Priority. Pid is a single PID (typically the video PID), while - ///< Pids1...Pids3 are pointers to zero terminated lists of PIDs. - ///< If any of these PIDs are 0, they will be silently ignored. - ///< The total number of non-zero PIDs must not exceed MAXRECEIVEPIDS. +#endif + cReceiver(const cChannel *Channel = NULL, int Priority = -1); + ///< Creates a new receiver for the given Channel with the given Priority. + ///< If Channel is not NULL, its pids set by a call to SetPids(). + ///< Otherwise pids can be added to the receiver by separate calls to the AddPid[s] + ///< functions. + ///< The total number of PIDs added to a receiver must not exceed MAXRECEIVEPIDS. ///< Priority may be any value in the range -99..99. Negative values indicate ///< that this cReceiver may be detached at any time (without blocking the ///< cDevice it is attached to). - ///< The ChannelID is necessary to allow the device that will be used for this - ///< receiver to detect and store whether the channel can be decrypted in case - ///< this is an encrypted channel. If the channel is not encrypted or this - ///< detection is not wanted, an invalid tChannelID may be given. virtual ~cReceiver(); + bool AddPid(int Pid); + ///< Adds the given Pid to the list of PIDs of this receiver. + bool AddPids(const int *Pids); + ///< Adds the given izero terminated list of Pids to the list of PIDs of this + ///< receiver. + bool AddPids(int Pid1, int Pid2, int Pid3 = 0, int Pid4 = 0, int Pid5 = 0, int Pid6 = 0, int Pid7 = 0, int Pid8 = 0, int Pid9 = 0); + ///< Adds the given Pids to the list of PIDs of this receiver. + bool SetPids(const cChannel *Channel); + ///< Sets the PIDs of this receiver to those of the given Channel, + ///< replacing and previously stored PIDs. If Channel is NULL, all + ///< PIDs will be cleared. Parameters in the Setup may control whether + ///< certain types of PIDs (like Dolby Digital, for instance) are + ///< actually set. The Channel's ID is stored and can later be retrieved + ///< through ChannelID(). The ChannelID is necessary to allow the device + ///< that will be used for this receiver to detect and store whether the + ///< channel can be decrypted in case this is an encrypted channel. tChannelID ChannelID(void) { return channelID; } bool IsAttached(void) { return device != NULL; } ///< Returns true if this receiver is (still) attached to a device. -- cgit v1.2.3