diff options
author | Frank Schmirler <vdr@schmirler.de> | 2011-09-02 13:11:13 +0200 |
---|---|---|
committer | Frank Schmirler <vdr@schmirler.de> | 2011-09-02 13:11:13 +0200 |
commit | cc74cba39690f94d622b84f6a6196e8348ef23d1 (patch) | |
tree | 50de9dc55b76f14f131389a3aff0b85d28d2a68f /server | |
parent | 2c8377d42a9ebd7c399322968d2c78fb377f55b0 (diff) | |
download | vdr-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.c | 8 |
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); |