diff options
author | Frank Schmirler <vdr@schmirler.de> | 2010-12-02 08:59:14 +0100 |
---|---|---|
committer | Frank Schmirler <vdr@schmirler.de> | 2010-12-02 08:59:14 +0100 |
commit | 5a270cc3ab659a98b4bb674acb77982f7e1ecb14 (patch) | |
tree | 5f2f51c096f192a9b32af9ffd8244eeb6637ad06 /server/livefilter.c | |
parent | e6249bf957a943920b11abbd9efac1efa18b1d00 (diff) | |
download | vdr-plugin-streamdev-5a270cc3ab659a98b4bb674acb77982f7e1ecb14.tar.gz vdr-plugin-streamdev-5a270cc3ab659a98b4bb674acb77982f7e1ecb14.tar.bz2 |
Snapshot 2007-05-09
Diffstat (limited to 'server/livefilter.c')
-rw-r--r-- | server/livefilter.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/server/livefilter.c b/server/livefilter.c index 4524a88..e7d896c 100644 --- a/server/livefilter.c +++ b/server/livefilter.c @@ -1,20 +1,24 @@ /* - * $Id: livefilter.c,v 1.2 2005/02/08 13:59:16 lordjaxom Exp $ + * $Id: livefilter.c,v 1.4 2007/04/24 11:06:12 schmirl Exp $ */ #include "server/livefilter.h" -#include "server/livestreamer.h" +#include "server/streamer.h" #include "common.h" +#ifndef TS_SIZE +# define TS_SIZE 188 +#endif +#ifndef TS_SYNC_BYTE +# define TS_SYNC_BYTE 0x47 +#endif + #if VDRVERSNUM >= 10300 -cStreamdevLiveFilter::cStreamdevLiveFilter(cStreamdevLiveStreamer *Streamer) { +cStreamdevLiveFilter::cStreamdevLiveFilter(cStreamdevStreamer *Streamer) { m_Streamer = Streamer; } -cStreamdevLiveFilter::~cStreamdevLiveFilter() { -} - void cStreamdevLiveFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Length) { uchar buffer[TS_SIZE]; @@ -24,7 +28,7 @@ void cStreamdevLiveFilter::Process(u_short Pid, u_char Tid, const u_char *Data, while (length > 0) { int chunk = min(length, TS_SIZE - 5); buffer[0] = TS_SYNC_BYTE; - buffer[1] = (Pid >> 8) & 0xff; + buffer[1] = ((Pid >> 8) & 0x3f) | (pos==0 ? 0x40 : 0); /* bit 6: payload unit start indicator (PUSI) */ buffer[2] = Pid & 0xff; buffer[3] = Tid; buffer[4] = (uchar)chunk; |