summaryrefslogtreecommitdiff
path: root/server/livestreamer.c
diff options
context:
space:
mode:
authorschmirl <schmirl>2007-04-23 15:44:55 +0000
committerschmirl <schmirl>2007-04-23 15:44:55 +0000
commit0553fce43c696295bd4b291f58397497b59f965b (patch)
tree9c3bd26d7f76bdab7419c8536f85b5d3d56fc681 /server/livestreamer.c
parent6dd3cc412ee9326c4508f8e73f042223f4e816c3 (diff)
downloadvdr-plugin-streamdev-0553fce43c696295bd4b291f58397497b59f965b.tar.gz
vdr-plugin-streamdev-0553fce43c696295bd4b291f58397497b59f965b.tar.bz2
based on server_livefilter-streamer-type.patch by Petri Hintukainen
- Use cStreamer (base class) instead of cLiveStreamer (no need to know streamer type) * works with cLiveStreamer and cLiveFilterStreamer * avoid circular dependency - visibility of cStreamdevLiveReceiver: Moved from livestreamer.h -> .c Modified Files: server/livefilter.c server/livefilter.h server/livestreamer.c server/livestreamer.h
Diffstat (limited to 'server/livestreamer.c')
-rw-r--r--server/livestreamer.c30
1 files changed, 28 insertions, 2 deletions
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):