summaryrefslogtreecommitdiff
path: root/remux/tsremux.h
diff options
context:
space:
mode:
authorlordjaxom <lordjaxom>2004-12-30 22:43:55 +0000
committerlordjaxom <lordjaxom>2004-12-30 22:43:55 +0000
commit302fa2e67276bd0674e81e2a9a01b9e91dd45d8c (patch)
treea454884a16e0ffa48b5ce3e4ce1a66eb874a9de0 /remux/tsremux.h
downloadvdr-plugin-streamdev-302fa2e67276bd0674e81e2a9a01b9e91dd45d8c.tar.gz
vdr-plugin-streamdev-302fa2e67276bd0674e81e2a9a01b9e91dd45d8c.tar.bz2
Initial revision
Diffstat (limited to 'remux/tsremux.h')
-rw-r--r--remux/tsremux.h30
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