vdr-plugin-streamdev/remux/tsremux.h

30 lines
716 B
C
Raw Normal View History

2010-12-02 08:53:01 +01:00
#ifndef VDR_STREAMDEV_TSREMUX_H
#define VDR_STREAMDEV_TSREMUX_H
#include "libdvbmpeg/transform.h"
#include <vdr/remux.h>
2010-12-02 09:44:53 +01:00
// Picture types:
2010-12-02 09:43:13 +01:00
#define NO_PICTURE 0
2010-12-02 09:44:53 +01:00
#define I_FRAME 1
#define P_FRAME 2
#define B_FRAME 3
2010-12-02 09:43:13 +01:00
2010-12-02 09:44:53 +01:00
namespace Streamdev {
2010-12-02 08:53:01 +01:00
class cTSRemux {
public:
2010-12-02 09:44:53 +01:00
virtual int Put(const uchar *Data, int Count) = 0;
virtual uchar *Get(int &Count) = 0;
virtual void Del(int Count) = 0;
2010-12-02 08:53:01 +01:00
static void SetBrokenLink(uchar *Data, int Length);
static int GetPid(const uchar *Data);
2010-12-02 09:44:53 +01:00
static int GetPacketLength(const uchar *Data, int Count, int Offset);
2010-12-02 08:53:01 +01:00
static int ScanVideoPacket(const uchar *Data, int Count, int Offset, uchar &PictureType);
};
2010-12-02 09:44:53 +01:00
} // namespace Streamdev
2010-12-02 08:53:01 +01:00
#endif // VDR_STREAMDEV_TSREMUX_H