Unable to stop the stream: Inapproriate ioctl for device - ARM

asked 2017-04-13 07:54:42 -0600

simozz gravatar image

updated 2017-04-13 08:05:37 -0600

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.

edit retag flag offensive close merge delete

Comments

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?

StevenPuttemans gravatar imageStevenPuttemans ( 2017-04-14 05:00:24 -0600 )edit

Or you can skip libv4l completely, disable its support and make sure you have ffmpeg support, as suggested here.

StevenPuttemans gravatar imageStevenPuttemans ( 2017-04-14 05:02:05 -0600 )edit
1

Hello Steven, I tried enabling libv4l and not, but the problem persisted. I will try with ffmpeg support. Thank you.

simozz gravatar imagesimozz ( 2017-04-15 08:59:07 -0600 )edit