diff --git a/server/livefilter.c b/server/livefilter.c index 4524a88..6904c48 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.3 2007/04/23 15:44:55 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]; diff --git a/server/livefilter.h b/server/livefilter.h index a30cba0..9159618 100644 --- a/server/livefilter.h +++ b/server/livefilter.h @@ -1,5 +1,5 @@ /* - * $Id: livefilter.h,v 1.2 2005/11/07 19:28:41 lordjaxom Exp $ + * $Id: livefilter.h,v 1.3 2007/04/23 15:44:55 schmirl Exp $ */ #ifndef VDR_STREAMEV_LIVEFILTER_H @@ -11,20 +11,17 @@ #include -class cStreamdevLiveStreamer; +class cStreamdevStreamer; class cStreamdevLiveFilter: public cFilter { - friend class cStreamdevLiveStreamer; - private: - cStreamdevLiveStreamer *m_Streamer; + cStreamdevStreamer *m_Streamer; protected: virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length); public: - cStreamdevLiveFilter(cStreamdevLiveStreamer *Streamer); - virtual ~cStreamdevLiveFilter(); + cStreamdevLiveFilter(cStreamdevStreamer *Streamer); }; # endif // VDRVERSNUM >= 10300 diff --git a/server/livestreamer.c b/server/livestreamer.c index 6148720..5a5bc94 100644 --- a/server/livestreamer.c +++ b/server/livestreamer.c @@ -8,12 +8,31 @@ // --- cStreamdevLiveReceiver ------------------------------------------------- +class cStreamdevLiveReceiver: public cReceiver { + friend class cStreamdevStreamer; + +private: + cStreamdevStreamer *m_Streamer; + +protected: + virtual void Activate(bool On); + virtual void Receive(uchar *Data, int Length); + +public: #if VDRVERSNUM < 10500 -cStreamdevLiveReceiver::cStreamdevLiveReceiver(cStreamdevLiveStreamer *Streamer, int Ca, + cStreamdevLiveReceiver(cStreamdevStreamer *Streamer, int Ca, int Priority, const int *Pids); +#else + cStreamdevLiveReceiver(cStreamdevStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids); +#endif + virtual ~cStreamdevLiveReceiver(); +}; + +#if VDRVERSNUM < 10500 +cStreamdevLiveReceiver::cStreamdevLiveReceiver(cStreamdevStreamer *Streamer, int Ca, int Priority, const int *Pids): cReceiver(Ca, Priority, 0, Pids), #else -cStreamdevLiveReceiver::cStreamdevLiveReceiver(cStreamdevLiveStreamer *Streamer, tChannelID ChannelID, +cStreamdevLiveReceiver::cStreamdevLiveReceiver(cStreamdevStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids): cReceiver(ChannelID, Priority, 0, Pids), #endif @@ -33,6 +52,13 @@ void cStreamdevLiveReceiver::Receive(uchar *Data, int Length) { m_Streamer->ReportOverflow(Length - p); } +inline void cStreamdevLiveReceiver::Activate(bool On) +{ + Dprintf("LiveReceiver->Activate(%d)\n", On); + m_Streamer->Activate(On); +} + + // --- cStreamdevLiveStreamer ------------------------------------------------- cStreamdevLiveStreamer::cStreamdevLiveStreamer(int Priority): diff --git a/server/livestreamer.h b/server/livestreamer.h index 0c525bf..1ad2bc2 100644 --- a/server/livestreamer.h +++ b/server/livestreamer.h @@ -12,27 +12,7 @@ class cTS2PSRemux; class cTS2ESRemux; class cExternRemux; class cRemux; - -// --- cStreamdevLiveReceiver ------------------------------------------------- - -class cStreamdevLiveReceiver: public cReceiver { - friend class cStreamdevLiveStreamer; - -private: - cStreamdevLiveStreamer *m_Streamer; - -protected: - virtual void Activate(bool On); - virtual void Receive(uchar *Data, int Length); - -public: -#if VDRVERSNUM < 10500 - cStreamdevLiveReceiver(cStreamdevLiveStreamer *Streamer, int Ca, int Priority, const int *Pids); -#else - cStreamdevLiveReceiver(cStreamdevLiveStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids); -#endif - virtual ~cStreamdevLiveReceiver(); -}; +class cStreamdevLiveReceiver; // --- cStreamdevLiveStreamer ------------------------------------------------- @@ -70,12 +50,4 @@ public: virtual std::string Report(void); }; -// --- cStreamdevLiveReceiver reverse inlines --------------------------------- - -inline void cStreamdevLiveReceiver::Activate(bool On) -{ - Dprintf("LiveReceiver->Activate(%d)\n", On); - m_Streamer->Activate(On); -} - #endif // VDR_STREAMDEV_LIVESTREAMER_H