Unable to stop the stream: Inapproriate ioctl for device - ARM
Hi,
I am working on Linux systems with both ARM (arm32 and arm64) and x86/x86_64 arquitectures and I am experiencing a problem while I try to open a video file (in this case is an avi file), just on ARM arch (bot 32 and 64) .
Once I try to open the file, the following error is fired up:
Unable to stop the stream: Inapproriate ioctl for device
Looking into the source code, it seems a problem related to libv4l, since the error message it's executed at least from one of these files:line
modules/videoio/src/cap_v4l.cpp:1833
modules/videoio/src/cap_libv4l.cpp:1879
Since the error is fired only on ARM system (verified on Beaglebone Black and DragonBoard 410c), I understand this is a problem related with libv4l and not with opencv libs. Or maybe just the interaction with both under ARM arquitecture (perhaps some macro not properly defined ?). I don't know.
Do you already know this issue ? If so, do you know a workaround for this ?
Thank you.
Actually by default
libv4l
is disabled in CMAKE and not built into OpenCV. It is replaced by its newer version. This SO question indicates that it might be solved by rebuilding OpenCV. Can you try this?Or you can skip
libv4l
completely, disable its support and make sure you have ffmpeg support, as suggested here.Hello Steven, I tried enabling libv4l and not, but the problem persisted. I will try with ffmpeg support. Thank you.