summaryrefslogtreecommitdiff
path: root/remux.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2005-01-16 14:40:47 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2005-01-16 14:40:47 +0100
commitc522225344fdcbea2ec2946695d43a5dfa6c175a (patch)
treeeac64a12b227614c86183257e3ea728e80986f0b /remux.h
parent9423c636a25dcdc2531d51551aff33cf93abc095 (diff)
downloadvdr-c522225344fdcbea2ec2946695d43a5dfa6c175a.tar.gz
vdr-c522225344fdcbea2ec2946695d43a5dfa6c175a.tar.bz2
Recording and Transfer Mode now handle more than 2 audio PIDs
Diffstat (limited to 'remux.h')
-rw-r--r--remux.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/remux.h b/remux.h
index 0475c012..fef5980e 100644
--- a/remux.h
+++ b/remux.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: remux.h 1.12 2004/10/15 12:31:16 kls Exp $
+ * $Id: remux.h 1.13 2005/01/16 13:15:17 kls Exp $
*/
#ifndef __REMUX_H
@@ -21,23 +21,31 @@
#define P_FRAME 2
#define B_FRAME 3
+#define MAXTRACKS 64
+
class cTS2PES;
class cRemux {
private:
bool exitOnFailure;
+ bool isRadio;
int numUPTerrors;
bool synced;
int skipped;
- int vPid, aPid1, aPid2, dPid1, dPid2;
- cTS2PES *vTS2PES, *aTS2PES1, *aTS2PES2, *dTS2PES1, *dTS2PES2;
+ cTS2PES *ts2pes[MAXTRACKS];
+ int numTracks;
cRingBufferLinear *resultBuffer;
int resultSkipped;
int GetPid(const uchar *Data);
int GetPacketLength(const uchar *Data, int Count, int Offset);
int ScanVideoPacket(const uchar *Data, int Count, int Offset, uchar &PictureType);
public:
- cRemux(int VPid, int APid1, int APid2, int DPid1, int DPid2, bool ExitOnFailure = false);
+ cRemux(int VPid, const int *APids, const int *DPids, const int *SPids, bool ExitOnFailure = false);
+ ///< Creates a new remuxer for the given PIDs. VPid is the video PID, while
+ ///< APids, DPids and SPids are pointers to zero terminated lists of audio,
+ ///< dolby and subtitle PIDs (the pointers may be NULL if there is no such
+ ///< PID). If ExitOnFailure is true, the remuxer will initiate an "emergency
+ ///< exit" in case of problems with the data stream.
~cRemux();
int Put(const uchar *Data, int Count);
///< Puts at most Count bytes of Data into the remuxer.