diff options
| author | phintuka <phintuka> | 2009-01-30 19:11:55 +0000 |
|---|---|---|
| committer | phintuka <phintuka> | 2009-01-30 19:11:55 +0000 |
| commit | 20e2458ff7aa9bf69ec18696d91434f3c73333d1 (patch) | |
| tree | 077adc507553e12d99b2fb253946f78d04c7f1d5 | |
| parent | 1b1b99ca64155e17aa87ad532d54eada11646416 (diff) | |
| download | xineliboutput-20e2458ff7aa9bf69ec18696d91434f3c73333d1.tar.gz xineliboutput-20e2458ff7aa9bf69ec18696d91434f3c73333d1.tar.bz2 | |
Join multiple TS packets to one transport packet
| -rw-r--r-- | device.h | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: device.h,v 1.41 2009-01-26 12:28:53 phintuka Exp $ + * $Id: device.h,v 1.42 2009-01-30 19:11:55 phintuka Exp $ * */ @@ -251,10 +251,19 @@ class cXinelibDevice : public cDevice #if VDRVERSNUM >= 10701 cPatPmtParser m_PatPmtParser; + /* join multiple TS packets to xineliboutput transport packet */ + uint8_t m_TsBuf[4096]; + uint m_TsBufSize; + void TsBufferFlush(void) { if (m_TsBufSize) PlayAny(m_TsBuf, m_TsBufSize); }; + void TsBufferClear(void) { m_TsBufSize = 0; }; + virtual int PlayTsVideo(const uchar *Data, int Length); virtual int PlayTsAudio(const uchar *Data, int Length); virtual int PlayTsSubtitle(const uchar *Data, int Length); virtual int PlayTs(const uchar *Data, int Length, bool VideoOnly = false); +#else + void TsBufferClear(void) {} + void TsBufferFlush(void) {} #endif }; |
