MCPcopy Create free account
hub / github.com/ARM-software/AVH / _readFrame

Method _readFrame

interface/video/python/vsi_video_server.py:301–337  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

299
300 # Read frame from source
301 def _readFrame(self):
302 frame = bytearray()
303
304 if not self.active:
305 return frame
306
307 if self.eos:
308 return frame
309
310 if self.video:
311 if self.frame_ratio > 1:
312 _, tmp_frame = self.stream.read()
313 self.frame_drop += (self.frame_ratio - 1)
314 if self.frame_drop > 1:
315 logger.debug(f"Frames to drop: {self.frame_drop}")
316 drop = int(self.frame_drop // 1)
317 for i in range(drop):
318 _, _ = self.stream.read()
319 logger.debug(f"Frames dropped: {drop}")
320 self.frame_drop -= drop
321 logger.debug(f"Frames left to drop: {self.frame_drop}")
322 else:
323 _, tmp_frame = self.stream.read()
324 if tmp_frame is None:
325 self.eos = True
326 logger.debug("End of stream.")
327 else:
328 tmp_frame = cv2.imread(self.filename)
329 self.eos = True
330 logger.debug("End of stream.")
331
332 if tmp_frame is not None:
333 tmp_frame = self.__resizeFrame(tmp_frame, self.resolution)
334 tmp_frame = self.__changeColorSpace(tmp_frame, self.color_format)
335 frame = bytearray(tmp_frame.tobytes())
336
337 return frame
338
339 # Write frame to destination
340 def _writeFrame(self, frame):

Callers 1

runMethod · 0.95

Calls 2

__resizeFrameMethod · 0.95
__changeColorSpaceMethod · 0.95

Tested by

no test coverage detected