Streaming video errors on Raspberry Pi

Having an issue streaming video on a Raspberry Pi 3B+. Getting errors when calling yuv_frame.info() inside the yuv callback:

Traceback (most recent call last):
File “_ctypes/callbacks.c”, line 234, in ‘calling callback function’
File “/home/pi/code/parrot-groundsdk/packages/olympe/src/olympe/arsdkng/pdraw.py”, line 763, in
lambda *args: self._video_sink_queue_event(*args),
File “/home/pi/code/parrot-groundsdk/packages/olympe/src/olympe/arsdkng/pdraw.py”, line 837, in _video_sink_queue_event
while self.process_stream(id):
File “/home/pi/code/parrot-groundsdk/packages/olympe/src/olympe/arsdkng/pdraw.py”, line 873, in _process_stream
if not self.process_stream_buffer(id, video_frame):
File “/home/pi/code/parrot-groundsdk/packages/olympe/src/olympe/arsdkng/pdraw.py”, line 909, in _process_stream_buffer
cb(video_frame)
File “ground-control.py”, line 87, in yuv_frame_cb
info = yuv_frame.info()
File “/home/pi/code/parrot-groundsdk/packages/olympe/src/olympe/arsdkng/pdraw.py”, line 261, in info
frame = self._get_pdraw_video_frame()
File “/home/pi/code/parrot-groundsdk/packages/olympe/src/olympe/arsdkng/pdraw.py”, line 156, in _get_pdraw_video_frame
ctypes.byref(self._pdraw_video_frame))
ctypes.ArgumentError: argument 4: <class ‘TypeError’>: expected LP_c_ulong instance instead of LP_c_ulonglong

Any ideas?

This error occurs with ANAFI software version 1.6.0.

Hi,

Disclaimer:
RPis are not officially supported and I don’t have an RPi3 on hand so I won’t be able to reproduce this issue right now. That being said, it shouldn’t be too difficult and we will eventually support it.

It seems that your Python binding of libpdraw has some type inconsistencies. The C dependencies Python bindings used by Olympe are generated during the build step in out/olympe-linux/final/usr/lib/python/site-packages/olympe_deps.py. Can you share this file with us? Thanks

Have you followed the official installation procedure on the RPi3? (I wouldn’t bet on a cross-compiled version at this point).

Edit: I guess that you’ve followed the procedure described by @oupscamille in the Olympe 1.01 on Raspberry pi zero and pi3 A+ topic.

Nicolas

1 Like