summaryrefslogtreecommitdiff
path: root/server
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 /server
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.
Diffstat (limited to 'server')
-rw-r--r--server/connectionVTP.c5
1 files changed, 3 insertions, 2 deletions
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)