check availability of channel if VTP command TUNE is called without prior

PROV call (e.g. client side EPG scan)
This commit is contained in:
Frank Schmirler 2011-09-02 13:11:13 +02:00
parent 2c8377d42a
commit cc74cba396
2 changed files with 7 additions and 3 deletions

View File

@ -1,6 +1,8 @@
VDR Plugin 'streamdev' Revision History VDR Plugin 'streamdev' Revision History
--------------------------------------- ---------------------------------------
- check availability of channel if VTP command TUNE is called without
prior PROV call (e.g. client side EPG scan)
- added support for VDR 1.7.19 SignalStrength/SignalQuality - added support for VDR 1.7.19 SignalStrength/SignalQuality
- analog video channels use the same transponder and pid for different - analog video channels use the same transponder and pid for different
channels, so streamdev-client must always issue TUNE command channels, so streamdev-client must always issue TUNE command

View File

@ -1089,14 +1089,16 @@ bool cConnectionVTP::CmdTUNE(char *Opts)
return Respond(550, "Undefined channel \"%s\"", Opts); return Respond(550, "Undefined channel \"%s\"", Opts);
if (chan != m_TuneChannel) { 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; prio = 0;
if (!ProvidesChannel(chan, prio))
return Respond(560, "Channel not available (ProvidesChannel)");
} }
if ((dev = GetDevice(chan, prio)) == NULL) if ((dev = GetDevice(chan, prio)) == NULL)
return Respond(560, "Channel not available"); return Respond(560, "Channel not available (GetDevice)");
if (!dev->SwitchChannel(chan, false)) if (!dev->SwitchChannel(chan, false))
return Respond(560, "Channel not available"); return Respond(560, "Channel not available (SwitchChannel)");
delete m_LiveStreamer; delete m_LiveStreamer;
m_LiveStreamer = new cStreamdevLiveStreamer(prio, this); m_LiveStreamer = new cStreamdevLiveStreamer(prio, this);