diff --git a/picamerax/mmalobj.py b/picamerax/mmalobj.py index db57e8ce..f3aa9947 100644 --- a/picamerax/mmalobj.py +++ b/picamerax/mmalobj.py @@ -1298,7 +1298,11 @@ def wrapper(port, buf): finally: buf.release() try: - self._pool.send_buffer(block=False) + # Only try to send buffer if the port type is output + # or else we will suffer a MMAL no buffers available + # error. + if self._port[0].type == mmal.MMAL_PORT_TYPE_OUTPUT: + self._pool.send_buffer(block=False) except PiCameraPortDisabled: # The port was disabled, no point trying again pass