Improved corrupt frame handling
	
		
			
	
		
	
	
		
	
		
			Some checks reported errors
		
		
	
	
		
			
				
	
				continuous-integration/drone Build was killed
				
			
		
		
	
	
				
					
				
			
		
			Some checks reported errors
		
		
	
	continuous-integration/drone Build was killed
				
			This commit is contained in:
		| @@ -376,12 +376,14 @@ async def download(resp, queue): | ||||
|                 blob = buf + data[:marker+2] | ||||
|  | ||||
|                 # Parse DCT coefficients | ||||
|                 try: | ||||
|                     dct = loads(blob) | ||||
|  | ||||
|                 except RuntimeError: | ||||
|                     counter_frames.labels("corrupted").inc() | ||||
|                 else: | ||||
|                     now = datetime.utcnow() | ||||
|                     gauge_last_frame.labels("download").set(now.timestamp()) | ||||
|                     try: | ||||
|                     # Convert Y component to 16 bit for easier handling | ||||
|                         queue.put_nowait(( | ||||
|                             now, | ||||
|                             blob, | ||||
| @@ -395,7 +397,7 @@ async def download(resp, queue): | ||||
|                 counter_receive_frames.inc() | ||||
|  | ||||
|         # seek begin | ||||
|         marker = data.find(b"\xff\xd8") | ||||
|         marker = data.rfind(b"\xff\xd8") | ||||
|         if marker >= 0: | ||||
|             buf = data[marker:] | ||||
|         else: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user