summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Schmirler <vdr@schmirler.de>2013-10-19 01:22:45 +0200
committerFrank Schmirler <vdr@schmirler.de>2013-10-19 01:22:45 +0200
commita9c2adb56569566adae86baaeebe641cb1409f6c (patch)
treeccb9789399d1ef4e8b8a34792eb9192510961a38
parent8c5859ed4adaf8a642d1ef4f6647f53f0879f560 (diff)
downloadvdr-plugin-streamdev-a9c2adb56569566adae86baaeebe641cb1409f6c.tar.gz
vdr-plugin-streamdev-a9c2adb56569566adae86baaeebe641cb1409f6c.tar.bz2
Fixed priority handling, messed up when adding multi-device support
-rw-r--r--HISTORY1
-rw-r--r--client/device.c6
2 files changed, 4 insertions, 3 deletions
diff --git a/HISTORY b/HISTORY
index d75c189..fb48b1a 100644
--- a/HISTORY
+++ b/HISTORY
@@ -1,6 +1,7 @@
VDR Plugin 'streamdev' Revision History
---------------------------------------
+- Fixed priority handling, messed up when adding multi-device support
- Added HTTP "Server" header (suggested by hivdr)
- Ignore dummy file extensions (.ts, .vob, .vdr) when parsing HTTP URIs
- Select start position for replaying a recording by parameter pos=. Supported
diff --git a/client/device.c b/client/device.c
index ef16690..8a19c25 100644
--- a/client/device.c
+++ b/client/device.c
@@ -101,7 +101,7 @@ bool cStreamdevDevice::ProvidesChannel(const cChannel *Channel, int Priority,
if (m_Disabled || Channel == m_DenyChannel)
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)
{
@@ -296,8 +296,8 @@ void cStreamdevDevice::UpdatePriority(bool SwitchingChannels) const {
if (m_ClientSocket->SupportsPrio() && m_ClientSocket->DataSocket(siLive)) {
int Priority = this->Priority();
// override TRANSFERPRIORITY (-1) with live TV priority from setup
- if (this == cDevice::ActualDevice() && m_ClientSocket->Priority() == TRANSFERPRIORITY) {
- int Priority = StreamdevClientSetup.LivePriority;
+ if (Priority == TRANSFERPRIORITY && this == cDevice::ActualDevice()) {
+ Priority = StreamdevClientSetup.LivePriority;
// temporarily lower priority
if (SwitchingChannels)
Priority--;