summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorFrank Schmirler <vdr@schmirler.de>2011-09-02 13:11:13 +0200
committerFrank Schmirler <vdr@schmirler.de>2011-09-02 13:11:13 +0200
commitcc74cba39690f94d622b84f6a6196e8348ef23d1 (patch)
tree50de9dc55b76f14f131389a3aff0b85d28d2a68f /server
parent2c8377d42a9ebd7c399322968d2c78fb377f55b0 (diff)
downloadvdr-plugin-streamdev-cc74cba39690f94d622b84f6a6196e8348ef23d1.tar.gz
vdr-plugin-streamdev-cc74cba39690f94d622b84f6a6196e8348ef23d1.tar.bz2
check availability of channel if VTP command TUNE is called without prior
PROV call (e.g. client side EPG scan)
Diffstat (limited to 'server')
-rw-r--r--server/connectionVTP.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/server/connectionVTP.c b/server/connectionVTP.c
index 64b5f37..8224d1d 100644
--- a/server/connectionVTP.c
+++ b/server/connectionVTP.c
@@ -1089,14 +1089,16 @@ bool cConnectionVTP::CmdTUNE(char *Opts)
return Respond(550, "Undefined channel \"%s\"", Opts);
if (chan != m_TuneChannel) {
- esyslog("streamdev-server TUNE %s: Priority unknown - using 0", Opts);
+ isyslog("streamdev-server TUNE %s: Priority unknown - using 0", Opts);
prio = 0;
+ if (!ProvidesChannel(chan, prio))
+ return Respond(560, "Channel not available (ProvidesChannel)");
}
if ((dev = GetDevice(chan, prio)) == NULL)
- return Respond(560, "Channel not available");
+ return Respond(560, "Channel not available (GetDevice)");
if (!dev->SwitchChannel(chan, false))
- return Respond(560, "Channel not available");
+ return Respond(560, "Channel not available (SwitchChannel)");
delete m_LiveStreamer;
m_LiveStreamer = new cStreamdevLiveStreamer(prio, this);