mirror of
				https://github.com/liberatedsystems/Sideband_CE.git
				synced 2024-09-03 04:13:27 +02:00 
			
		
		
		
	Updated view example
This commit is contained in:
		
							parent
							
								
									48908842c6
								
							
						
					
					
						commit
						6700b7f8b7
					
				| @ -158,7 +158,7 @@ class CameraSource(ViewSource): | ||||
|         self.camera_ready = False | ||||
| 
 | ||||
| class StreamSource(ViewSource): | ||||
|     DEFAULT_IDLE_TIMEOUT = 5 | ||||
|     DEFAULT_IDLE_TIMEOUT = 10 | ||||
| 
 | ||||
|     def __init__(self, url=None): | ||||
|         self.url          = url | ||||
| @ -180,19 +180,18 @@ class StreamSource(ViewSource): | ||||
|         try: | ||||
|             while max(self.last_update, self.started)+self.idle_timeout > time.time(): | ||||
|                 ret, frame = self.stream.read() | ||||
|                 self.stream_ready = True | ||||
|                 if not ret: | ||||
|                     self.stream_ready = False | ||||
|                     break | ||||
|                  | ||||
|                 if not self.frame_queue.empty(): | ||||
|                     if self.frame_queue.qsize() > 1: | ||||
|                         try: | ||||
|                             self.frame_queue.get_nowait() | ||||
|                         except queue.Empty: | ||||
|                             pass | ||||
|                  | ||||
|                 self.frame_queue.put(frame) | ||||
|                 else: | ||||
|                     self.stream_ready = True             | ||||
|                     if not self.frame_queue.empty(): | ||||
|                         if self.frame_queue.qsize() > 1: | ||||
|                             try: | ||||
|                                 self.frame_queue.get_nowait() | ||||
|                             except queue.Empty: | ||||
|                                 pass | ||||
|                      | ||||
|                     self.frame_queue.put(frame) | ||||
| 
 | ||||
|             RNS.log(str(self)+" idled", RNS.LOG_DEBUG) | ||||
| 
 | ||||
| @ -206,7 +205,10 @@ class StreamSource(ViewSource): | ||||
|             self.start_reading() | ||||
|             while not self.stream_ready: | ||||
|               time.sleep(0.2) | ||||
|          | ||||
|               if self.stream == None: | ||||
|                 self.source_data = None | ||||
|                 return | ||||
| 
 | ||||
|         frame = self.frame_queue.get() | ||||
|         retval, buffer = cv2.imencode(".png", frame) | ||||
|         self.source_data = io.BytesIO(buffer).getvalue() | ||||
| @ -320,4 +322,4 @@ register_view_sources() | ||||
| 
 | ||||
| # Finally, tell Sideband what class in this | ||||
| # file is the actual plugin class. | ||||
| plugin_class = ViewCommandPlugin | ||||
| plugin_class = ViewCommandPlugin | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user