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
|