diff options
Diffstat (limited to 'remux/tsremux.h')
-rw-r--r-- | remux/tsremux.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/remux/tsremux.h b/remux/tsremux.h new file mode 100644 index 0000000..3e83c73 --- /dev/null +++ b/remux/tsremux.h @@ -0,0 +1,30 @@ +#ifndef VDR_STREAMDEV_TSREMUX_H +#define VDR_STREAMDEV_TSREMUX_H + +#include "libdvbmpeg/transform.h" +#include <vdr/remux.h> + +class cTSRemux { +protected: + uchar m_ResultBuffer[RESULTBUFFERSIZE]; + int m_ResultCount; + int m_ResultDelivered; + int m_Synced; + int m_Skipped; + int m_Sync; + + int GetPacketLength(const uchar *Data, int Count, int Offset); + int ScanVideoPacket(const uchar *Data, int Count, int Offset, uchar &PictureType); + + virtual void PutTSPacket(int Pid, const uint8_t *Data) = 0; + +public: + cTSRemux(bool Sync = true); + virtual ~cTSRemux(); + + virtual uchar *Process(const uchar *Data, int &Count, int &Result); + + static void SetBrokenLink(uchar *Data, int Length); +}; + +#endif // VDR_STREAMDEV_TSREMUX_H |