Fixed priority handling, messed up when adding multi-device support

This commit is contained in:
Frank Schmirler 2013-10-19 01:22:45 +02:00
parent 8c5859ed4a
commit a9c2adb565
2 changed files with 4 additions and 3 deletions

View File

@ -1,6 +1,7 @@
VDR Plugin 'streamdev' Revision History VDR Plugin 'streamdev' Revision History
--------------------------------------- ---------------------------------------
- Fixed priority handling, messed up when adding multi-device support
- Added HTTP "Server" header (suggested by hivdr) - Added HTTP "Server" header (suggested by hivdr)
- Ignore dummy file extensions (.ts, .vob, .vdr) when parsing HTTP URIs - Ignore dummy file extensions (.ts, .vob, .vdr) when parsing HTTP URIs
- Select start position for replaying a recording by parameter pos=. Supported - Select start position for replaying a recording by parameter pos=. Supported

View File

@ -101,7 +101,7 @@ bool cStreamdevDevice::ProvidesChannel(const cChannel *Channel, int Priority,
if (m_Disabled || Channel == m_DenyChannel) if (m_Disabled || Channel == m_DenyChannel)
return false; return false;
Dprintf("ProvidesChannel, Channel=%s, Prio=%d\n", Channel->Name(), Priority); Dprintf("ProvidesChannel, Channel=%s, Priority=%d, SocketPrio=%d\n", Channel->Name(), Priority, m_ClientSocket->Priority());
if (StreamdevClientSetup.MinPriority <= StreamdevClientSetup.MaxPriority) if (StreamdevClientSetup.MinPriority <= StreamdevClientSetup.MaxPriority)
{ {
@ -296,8 +296,8 @@ void cStreamdevDevice::UpdatePriority(bool SwitchingChannels) const {
if (m_ClientSocket->SupportsPrio() && m_ClientSocket->DataSocket(siLive)) { if (m_ClientSocket->SupportsPrio() && m_ClientSocket->DataSocket(siLive)) {
int Priority = this->Priority(); int Priority = this->Priority();
// override TRANSFERPRIORITY (-1) with live TV priority from setup // override TRANSFERPRIORITY (-1) with live TV priority from setup
if (this == cDevice::ActualDevice() && m_ClientSocket->Priority() == TRANSFERPRIORITY) { if (Priority == TRANSFERPRIORITY && this == cDevice::ActualDevice()) {
int Priority = StreamdevClientSetup.LivePriority; Priority = StreamdevClientSetup.LivePriority;
// temporarily lower priority // temporarily lower priority
if (SwitchingChannels) if (SwitchingChannels)
Priority--; Priority--;