mirror of
https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git
synced 2023-10-10 19:16:51 +02:00
updated copy of GetClippedNumProvidedSystems to the version used since VDR 1.7.15
This commit is contained in:
parent
1b5285b26d
commit
7dfbd50573
@ -152,6 +152,7 @@ Eric Valette
|
||||
carel
|
||||
for reporting "plugin doesn't honor APIVERSION" error in new Makefile
|
||||
for helping to find a way to cleanly shutdown externremux with mencoder
|
||||
for reporting that GetClippedNumProvidedSystems is no longer up-to-date
|
||||
|
||||
wolfi.m
|
||||
for reporting a typo in externremux quality parameter value
|
||||
|
6
HISTORY
6
HISTORY
@ -1,13 +1,15 @@
|
||||
VDR Plugin 'streamdev' Revision History
|
||||
---------------------------------------
|
||||
|
||||
- updated copy of GetClippedNumProvidedSystems to the version used since
|
||||
VDR 1.7.15 (reported by carel@vdrportal)
|
||||
- fixed the code deciding if a device is in use for live TV or not. It did
|
||||
not work as expected for FF cards (reported by wtor)
|
||||
not work as expected for FF cards (reported by wtor@vdrportal)
|
||||
- increased client side timeout for TUNE command
|
||||
- more dsyslog messages to help troubleshouting channel switch issues
|
||||
- improved the channel switch code trying to move live TV to different card
|
||||
- make sure that a client doesn't interrupt replaying on server's FF card
|
||||
(reported by wtor)
|
||||
(reported by wtor@vdrportal)
|
||||
- switching away live TV failed even when "always suspended" (reported by
|
||||
Michal Novotny)
|
||||
- fixed regression: no receiver created for ES/PS/PES (reported by Gavin
|
||||
|
@ -189,7 +189,7 @@ bool cServerConnection::Respond(const char *Message, bool Last, ...)
|
||||
#if APIVERSNUM >= 10700
|
||||
static int GetClippedNumProvidedSystems(int AvailableBits, cDevice *Device)
|
||||
{
|
||||
int MaxNumProvidedSystems = 1 << AvailableBits;
|
||||
int MaxNumProvidedSystems = (1 << AvailableBits) - 1;
|
||||
int NumProvidedSystems = Device->NumProvidedSystems();
|
||||
if (NumProvidedSystems > MaxNumProvidedSystems) {
|
||||
esyslog("ERROR: device %d supports %d modulation systems but cDevice::GetDevice() currently only supports %d delivery systems which should be fixed", Device->CardIndex() + 1, NumProvidedSystems, MaxNumProvidedSystems);
|
||||
@ -261,7 +261,7 @@ cDevice* cServerConnection::CheckDevice(const cChannel *Channel, int Priority, b
|
||||
imp <<= 1; imp |= !device->Receiving() && (device != cTransferControl::ReceiverDevice() || device->IsPrimaryDevice()) || ndr; // use receiving devices if we don't need to detach existing receivers, but avoid primary device in local transfer mode
|
||||
imp <<= 1; imp |= device->Receiving(); // avoid devices that are receiving
|
||||
#if APIVERSNUM >= 10700
|
||||
imp <<= 2; imp |= GetClippedNumProvidedSystems(2, device) - 1; // avoid cards which support multiple delivery systems
|
||||
imp <<= 4; imp |= GetClippedNumProvidedSystems(4, device) - 1; // avoid cards which support multiple delivery systems
|
||||
#endif
|
||||
imp <<= 1; imp |= device == cTransferControl::ReceiverDevice(); // avoid the Transfer Mode receiver device
|
||||
imp <<= 8; imp |= min(max(device->Priority() + MAXPRIORITY, 0), 0xFF); // use the device with the lowest priority (+MAXPRIORITY to assure that values -99..99 can be used)
|
||||
|
Loading…
Reference in New Issue
Block a user