2004-12-30 23:43:55 +01:00
|
|
|
#ifndef VDR_STREAMDEV_TS2PESREMUX_H
|
|
|
|
#define VDR_STREAMDEV_TS2PESREMUX_H
|
|
|
|
|
|
|
|
#include "remux/tsremux.h"
|
2005-02-11 17:44:14 +01:00
|
|
|
#include <vdr/remux.h>
|
|
|
|
#include <vdr/ringbuffer.h>
|
2004-12-30 23:43:55 +01:00
|
|
|
|
2009-01-16 12:35:43 +01:00
|
|
|
#ifndef MAXTRACKS
|
|
|
|
#define MAXTRACKS 64
|
|
|
|
#endif
|
|
|
|
|
2004-12-30 23:43:55 +01:00
|
|
|
class cTS2PS;
|
|
|
|
|
|
|
|
class cTS2PSRemux: public cTSRemux {
|
|
|
|
private:
|
2005-02-11 17:44:14 +01:00
|
|
|
int m_NumTracks;
|
|
|
|
cTS2PS *m_Remux[MAXTRACKS];
|
|
|
|
cRingBufferLinear *m_ResultBuffer;
|
|
|
|
int m_ResultSkipped;
|
|
|
|
int m_Skipped;
|
|
|
|
bool m_Synced;
|
|
|
|
bool m_IsRadio;
|
|
|
|
|
2004-12-30 23:43:55 +01:00
|
|
|
public:
|
2005-02-11 17:44:14 +01:00
|
|
|
cTS2PSRemux(int VPid, const int *Apids, const int *Dpids, const int *Spids);
|
2004-12-30 23:43:55 +01:00
|
|
|
virtual ~cTS2PSRemux();
|
2005-02-11 17:44:14 +01:00
|
|
|
|
|
|
|
int Put(const uchar *Data, int Count);
|
|
|
|
uchar *Get(int &Count);
|
|
|
|
void Del(int Count) { m_ResultBuffer->Del(Count); }
|
2004-12-30 23:43:55 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // VDR_STREAMDEV_TS2PESREMUX_H
|