27/03/2017, 18:20
(Questo messaggio è stato modificato l'ultima volta il: 27/03/2017, 21:55 da Zzed.)
ciao,
sto provando a sviluppare un OSD (OnScreenDisplay) utilizzando il modulo "picamera" di python e durante l'esecuzione del parametro "update" per aggiornare il render ricevo un errore di no buffers available: Resource temporarily unavailable; try again later ed in particolare la sfilza di seguito
il codice che origina il problema è il seguente:
quando arriva all'esecuzione del comando overlay.
Ovviamente non ho problemi di memoria, come si può vedere dallo screenshot dell'output del comando "free -m"
Proprio non riesco a capire come mai
Qualcuno mi può aiutare?
grazie
sto provando a sviluppare un OSD (OnScreenDisplay) utilizzando il modulo "picamera" di python e durante l'esecuzione del parametro "update" per aggiornare il render ricevo un errore di no buffers available: Resource temporarily unavailable; try again later ed in particolare la sfilza di seguito
Citazione:Traceback (most recent call last):
File "_ctypes/callbacks.c", line 314, in 'calling callback function'
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1227, in wrapper
self._pool.send_buffer(block=False)
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1931, in send_buffer
super(MMALPortPool, self).send_buffer(port, block, timeout)
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1881, in send_buffer
raise PiCameraMMALError(mmal.MMAL_EAGAIN, 'no buffers available')
picamera.exc.PiCameraMMALError: no buffers available: Resource temporarily unavailable; try again later
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 314, in 'calling callback function'
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1227, in wrapper
self._pool.send_buffer(block=False)
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1931, in send_buffer
super(MMALPortPool, self).send_buffer(port, block, timeout)
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1881, in send_buffer
raise PiCameraMMALError(mmal.MMAL_EAGAIN, 'no buffers available')
picamera.exc.PiCameraMMALError: no buffers available: Resource temporarily unavailable; try again later
Traceback (most recent call last):
File "_ctypes/callbacks.c", line 314, in 'calling callback function'
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1227, in wrapper
self._pool.send_buffer(block=False)
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1931, in send_buffer
super(MMALPortPool, self).send_buffer(port, block, timeout)
File "/usr/lib/python2.7/dist-packages/picamera/mmalobj.py", line 1881, in send_buffer
raise PiCameraMMALError(mmal.MMAL_EAGAIN, 'no buffers available')
picamera.exc.PiCameraMMALError: no buffers available: Resource temporarily unavailable; try again later
il codice che origina il problema è il seguente:
try:
while True:
text = time.strftime('%H:%M:%S', time.gmtime())
img = crossHair.copy()
draw = ImageDraw.Draw(img)
draw.font = ImageFont.truetype("/usr/share/fonts/truetype/freefont/FreeSerif.ttf", 50)
draw.text((10, 10), text, (255, 255, 255))
overlay.update(img.tostring())
time.sleep(1)
finally:
camera.remove_overlay(overlay)
quando arriva all'esecuzione del comando overlay.
Ovviamente non ho problemi di memoria, come si può vedere dallo screenshot dell'output del comando "free -m"
Proprio non riesco a capire come mai
Qualcuno mi può aiutare?
grazie