2004-12-30 23:43:55 +01:00
|
|
|
#ifndef VDR_STREAMDEV_TSREMUX_H
|
|
|
|
#define VDR_STREAMDEV_TSREMUX_H
|
|
|
|
|
|
|
|
#include "libdvbmpeg/transform.h"
|
|
|
|
#include <vdr/remux.h>
|
|
|
|
|
2005-01-25 15:14:43 +01:00
|
|
|
#define RESULTBUFFERSIZE KILOBYTE(256)
|
|
|
|
|
2004-12-30 23:43:55 +01:00
|
|
|
class cTSRemux {
|
|
|
|
protected:
|
2005-02-11 17:44:14 +01:00
|
|
|
/*uchar m_ResultBuffer[RESULTBUFFERSIZE];
|
2004-12-30 23:43:55 +01:00
|
|
|
int m_ResultCount;
|
|
|
|
int m_ResultDelivered;
|
|
|
|
int m_Synced;
|
|
|
|
int m_Skipped;
|
|
|
|
int m_Sync;
|
|
|
|
|
|
|
|
|
|
|
|
virtual void PutTSPacket(int Pid, const uint8_t *Data) = 0;
|
|
|
|
|
|
|
|
public:
|
|
|
|
cTSRemux(bool Sync = true);
|
|
|
|
virtual ~cTSRemux();
|
|
|
|
|
2005-02-11 17:44:14 +01:00
|
|
|
virtual uchar *Process(const uchar *Data, int &Count, int &Result);*/
|
2004-12-30 23:43:55 +01:00
|
|
|
|
|
|
|
static void SetBrokenLink(uchar *Data, int Length);
|
2005-02-11 17:44:14 +01:00
|
|
|
static int GetPid(const uchar *Data);
|
|
|
|
static int GetPacketLength(const uchar *Data, int Count, int Offset);
|
|
|
|
static int ScanVideoPacket(const uchar *Data, int Count, int Offset, uchar &PictureType);
|
2004-12-30 23:43:55 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // VDR_STREAMDEV_TSREMUX_H
|