mirror of
				https://projects.vdr-developer.org/git/vdr-plugin-streamdev.git
				synced 2023-10-10 17:16:51 +00:00 
			
		
		
		
	updated copy of GetClippedNumProvidedSystems to the version used since VDR 1.7.15
This commit is contained in:
		| @@ -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) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user