From 0c07109974e5335b2b962f3450ed14b0978891a3 Mon Sep 17 00:00:00 2001 From: Frank Schmirler Date: Fri, 10 Dec 2010 16:38:54 +0100 Subject: [PATCH] fixed regression: no receiver created for ES/PS/PES (reported by Gavin Hamill) --- CONTRIBUTORS | 3 +++ HISTORY | 2 ++ server/livestreamer.c | 5 +++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 7dc9960..d7f1e79 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -171,3 +171,6 @@ Timothy D. Lenz Rainer Blickle for reporting that channel switches may interrupt live TV on the server + +Gavin Hamill + for reporting that ES/PS/PES no longer works diff --git a/HISTORY b/HISTORY index 9cdc58d..35b892f 100644 --- a/HISTORY +++ b/HISTORY @@ -1,6 +1,8 @@ VDR Plugin 'streamdev' Revision History --------------------------------------- +- fixed regression: no receiver created for ES/PS/PES (reported by Gavin + Hamill) - VTP no longer uses a static priority value for its server-side receivers. The server stores channel and priority requested with the PROV command and re-uses these values in a subsequent TUNE for the same channel. The new diff --git a/server/livestreamer.c b/server/livestreamer.c index 1286abd..f17025d 100644 --- a/server/livestreamer.c +++ b/server/livestreamer.c @@ -442,12 +442,13 @@ void cStreamdevLiveStreamer::SetPriority(int Priority) void cStreamdevLiveStreamer::StartReceiver(void) { - if (m_Device != NULL && m_NumPids > 0 && IsRunning()) { + if (m_NumPids > 0) { Dprintf("Creating Receiver to respect changed pids\n"); cReceiver *current = m_Receiver; m_Receiver = new cStreamdevLiveReceiver(this, m_Channel->GetChannelID(), m_Priority, m_Pids); cThreadLock ThreadLock(m_Device); - Attach(); + if (IsRunning()) + Attach(); delete current; } else