def start(self, output): """ Starts the encoder object writing to the specified output """ self.event.clear() self.stopped = False self.exception = None self._open_output(output) self.output_port[0].userdata = ct.cast(ct.pointer(ct.py_object(self)), ct.c_void_p) mmal_check(mmal.mmal_port_enable(self.output_port, _encoder_callback), prefix="Failed to enable encoder output port") for q in range(mmal.mmal_queue_length(self.pool[0].queue)): buf = mmal.mmal_queue_get(self.pool[0].queue) if not buf: raise PiCameraRuntimeError( "Unable to get a required buffer from pool queue") mmal_check(mmal.mmal_port_send_buffer(self.output_port, buf), prefix="Unable to send a buffer to encoder output port") b = mmal.MMAL_BOOL_T() mmal_check(mmal.mmal_port_parameter_get_boolean( self.camera_port, mmal.MMAL_PARAMETER_CAPTURE, b), prefix="Failed to query capture status") self.started_capture = not bool(b) if self.started_capture: mmal_check(mmal.mmal_port_parameter_set_boolean( self.camera_port, mmal.MMAL_PARAMETER_CAPTURE, mmal.MMAL_TRUE), prefix="Failed to start capture")
def start(self, output): """ Starts the encoder object writing to the specified output """ self.event.clear() self.stopped = False self.exception = None self._open_output(output) self.output_port[0].userdata = ct.cast(ct.pointer(ct.py_object(self)), ct.c_void_p) mmal_check( mmal.mmal_port_enable(self.output_port, _encoder_callback), prefix="Failed to enable encoder output port" ) for q in range(mmal.mmal_queue_length(self.pool[0].queue)): buf = mmal.mmal_queue_get(self.pool[0].queue) if not buf: raise PiCameraRuntimeError("Unable to get a required buffer from pool queue") mmal_check( mmal.mmal_port_send_buffer(self.output_port, buf), prefix="Unable to send a buffer to encoder output port", ) b = mmal.MMAL_BOOL_T() mmal_check( mmal.mmal_port_parameter_get_boolean(self.camera_port, mmal.MMAL_PARAMETER_CAPTURE, b), prefix="Failed to query capture status", ) self.started_capture = not bool(b) if self.started_capture: mmal_check( mmal.mmal_port_parameter_set_boolean(self.camera_port, mmal.MMAL_PARAMETER_CAPTURE, mmal.MMAL_TRUE), prefix="Failed to start capture", )
def start(self, output): """ Starts the encoder object writing to the specified output """ self.event.clear() self.stopped = False self.exception = None self._open_output(output) self.output_port[0].userdata = ct.cast(ct.pointer(ct.py_object(self)), ct.c_void_p) mmal_check(mmal.mmal_port_enable(self.output_port, _encoder_callback), prefix="Failed to enable encoder output port") for q in range(mmal.mmal_queue_length(self.pool[0].queue)): buf = mmal.mmal_queue_get(self.pool[0].queue) if not buf: raise PiCameraRuntimeError( "Unable to get a required buffer from pool queue") mmal_check(mmal.mmal_port_send_buffer(self.output_port, buf), prefix="Unable to send a buffer to encoder output port")
def start(self, output): """ Starts the encoder object writing to the specified output """ self.event.clear() self.stopped = False self.exception = None self._open_output(output) self.output_port[0].userdata = ct.cast( ct.pointer(ct.py_object(self)), ct.c_void_p) mmal_check( mmal.mmal_port_enable(self.output_port, _encoder_callback), prefix="Failed to enable encoder output port") for q in range(mmal.mmal_queue_length(self.pool[0].queue)): buf = mmal.mmal_queue_get(self.pool[0].queue) if not buf: raise PiCameraRuntimeError( "Unable to get a required buffer from pool queue") mmal_check( mmal.mmal_port_send_buffer(self.output_port, buf), prefix="Unable to send a buffer to encoder output port")