mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Now unassigning CAMs from their devices when they are no longer used
This commit is contained in:
		
							
								
								
									
										3
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -8132,7 +8132,7 @@ Video Disk Recorder Revision History | ||||
|   and also to use the correct directory with --edit (the latter reported by Marko | ||||
|   M<>kel<65>). | ||||
|  | ||||
| 2014-01-17: Version 2.1.4 | ||||
| 2014-01-18: Version 2.1.4 | ||||
|  | ||||
| - Updated 'sources.conf' (thanks to Antti Hartikainen). | ||||
| - cFont::CreateFont() now returns a dummy font in case there are no fonts installed. | ||||
| @@ -8154,3 +8154,4 @@ Video Disk Recorder Revision History | ||||
|   in cDvbDevice have been removed to avoid redundancy. | ||||
| - Fixed detecting frame borders in MPEG-2 streams that have "bottom fields" or varying | ||||
|   GOP structures (reported by Christian Paulick, with help from Helmut Auer). | ||||
| - Now unassigning CAMs from their devices when they are no longer used. | ||||
|   | ||||
							
								
								
									
										10
									
								
								device.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								device.c
									
									
									
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  * See the main source file 'vdr.c' for copyright information and | ||||
|  * how to reach the author. | ||||
|  * | ||||
|  * $Id: device.c 3.8 2014/01/14 11:58:49 kls Exp $ | ||||
|  * $Id: device.c 3.9 2014/01/18 14:26:06 kls Exp $ | ||||
|  */ | ||||
|  | ||||
| #include "device.h" | ||||
| @@ -1697,8 +1697,12 @@ void cDevice::Detach(cReceiver *Receiver) | ||||
|       else if (receiver[i]) | ||||
|          receiversLeft = true; | ||||
|       } | ||||
|   if (camSlot && Receiver->priority > MINPRIORITY) // priority check to avoid an infinite loop with the CAM slot's caPidReceiver | ||||
|      camSlot->StartDecrypting(); | ||||
|   if (camSlot) { | ||||
|      if (Receiver->priority > MINPRIORITY) // priority check to avoid an infinite loop with the CAM slot's caPidReceiver | ||||
|         camSlot->StartDecrypting(); | ||||
|      if (!camSlot->IsDecrypting()) | ||||
|         camSlot->Assign(NULL); | ||||
|      } | ||||
|   if (!receiversLeft) | ||||
|      Cancel(-1); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user