summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Schmirler <vdr@schmirler.de>2011-06-03 13:24:12 +0200
committerFrank Schmirler <vdr@schmirler.de>2011-06-03 13:24:12 +0200
commitf73665a0bd13519591c8acb451c0b884929547e5 (patch)
treef387dca420c8a9f301fe39418e6cd76ef3b221a0
parentf6299b45840e6c874f7ec3457a69ecf3310a6b51 (diff)
downloadvdr-plugin-streamdev-f73665a0bd13519591c8acb451c0b884929547e5.tar.gz
vdr-plugin-streamdev-f73665a0bd13519591c8acb451c0b884929547e5.tar.bz2
Server must close the VTP connection also if filter stream is broken
Otherwise, if a client which is not livestreaming (e.g. watching a recording) doesn't properly shutdown the port 2004 connection, the filter stream remains open until TCP keepalive takes care of it. In the meantime, the log will show ringbuffer overflows.
-rw-r--r--HISTORY1
-rw-r--r--server/connectionVTP.c5
2 files changed, 4 insertions, 2 deletions
diff --git a/HISTORY b/HISTORY
index 3758c51..ed3f5e0 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,7 @@
VDR Plugin 'streamdev' Revision History
---------------------------------------
+- server must close the VTP connection also if filter stream is broken
- fixed missing #ifdefs for new NumProvidedSystems setup option
- new externremux.sh mencoder config options: audio pid by language code
(-alang) and verbosity (-msglevel) (thanks to Pekko Tiitto)
diff --git a/server/connectionVTP.c b/server/connectionVTP.c
index 411f3fd..2719fb4 100644
--- a/server/connectionVTP.c
+++ b/server/connectionVTP.c
@@ -772,9 +772,10 @@ cConnectionVTP::~cConnectionVTP()
delete m_RecPlayer;
}
-inline bool cConnectionVTP::Abort(void) const
+bool cConnectionVTP::Abort(void) const
{
- return m_LiveStreamer && m_LiveStreamer->Abort();
+ return (m_LiveStreamer && m_LiveStreamer->Abort()) ||
+ (m_FilterStreamer && m_FilterStreamer->Abort());
}
void cConnectionVTP::Welcome(void)