From 0677f483295d2b6f0cb777c3bfe0ffb2d12b3585 Mon Sep 17 00:00:00 2001
From: Frank Schmirler <vdr@schmirler.de>
Date: Tue, 4 Dec 2012 17:21:36 +0100
Subject: In cStreamdevStreamer dropped Activate(bool) and moved its code into
 Start()

---
 server/connectionVTP.c |  1 -
 server/livestreamer.c  |  7 -------
 server/streamer.c      | 21 ++++++++-------------
 server/streamer.h      |  1 -
 4 files changed, 8 insertions(+), 22 deletions(-)

(limited to 'server')

diff --git a/server/connectionVTP.c b/server/connectionVTP.c
index c3ba74d..bf4b0c2 100644
--- a/server/connectionVTP.c
+++ b/server/connectionVTP.c
@@ -1012,7 +1012,6 @@ bool cConnectionVTP::CmdPORT(char *Opts)
 		if(!m_FilterStreamer)
 			m_FilterStreamer = new cStreamdevFilterStreamer;
 		m_FilterStreamer->Start(m_FilterSocket);
-		m_FilterStreamer->Activate(true);
 
 		return Respond(220, "Port command ok, data connection opened");
 		break;
diff --git a/server/livestreamer.c b/server/livestreamer.c
index ae6281d..9e154ee 100644
--- a/server/livestreamer.c
+++ b/server/livestreamer.c
@@ -24,7 +24,6 @@ private:
 	cStreamdevStreamer *m_Streamer;
 
 protected:
-	virtual void Activate(bool On);
 	virtual void Receive(uchar *Data, int Length);
 
 public:
@@ -54,12 +53,6 @@ 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); 
-}
-
 // --- cStreamdevPatFilter ----------------------------------------------------
 
 class cStreamdevPatFilter : public cFilter {
diff --git a/server/streamer.c b/server/streamer.c
index e9f3830..953a01e 100644
--- a/server/streamer.c
+++ b/server/streamer.c
@@ -126,30 +126,25 @@ cStreamdevStreamer::~cStreamdevStreamer()
 
 void cStreamdevStreamer::Start(cTBSocket *Socket) 
 {
-	Dprintf("start streamer\n");
+	Dprintf("start writer\n");
 	m_Writer = new cStreamdevWriter(Socket, this);
 	m_Writer->Start();
-	Attach();
-}
-
-void cStreamdevStreamer::Activate(bool On) 
-{
-	if (On && !Active()) {
-		Dprintf("activate streamer\n");
+	if (!Active()) {
+		Dprintf("start streamer\n");
 		cThread::Start();
 	}
+	Attach();
 }
 
 void cStreamdevStreamer::Stop(void) 
 {
+	Detach();
 	if (Running()) {
-		Dprintf("stopping streamer\n");
+		Dprintf("stop streamer\n");
 		Cancel(3);
 	}
-	if (m_Writer) {
-		Detach();
-		DELETENULL(m_Writer);
-	}
+	Dprintf("stop writer\n");
+	DELETENULL(m_Writer);
 }
 
 void cStreamdevStreamer::Action(void) 
diff --git a/server/streamer.h b/server/streamer.h
index c34db54..9785907 100644
--- a/server/streamer.h
+++ b/server/streamer.h
@@ -85,7 +85,6 @@ public:
 	virtual void Stop(void);
 	bool Abort(void);
 
-	void Activate(bool On);
 	int Receive(uchar *Data, int Length) { return m_RingBuffer->PutTS(Data, Length); }
 	void ReportOverflow(int Bytes) { m_RingBuffer->ReportOverflow(Bytes); }
 	
-- 
cgit v1.2.3