Comments (7)
I have looked at the source of FlashCap, but that doesn't bring me closer to understand what the error code 22 is about.
I think the error code 22 is came from Linux native error code. Link
Maybe I/O argument for /dev/video has been changed since Raspbian 11...?
from flashcap.
Following up on this, just in case others experience the same issue.
The problem is that the kernel on Raspberry Pi4 may be 64 bit, even if user space is 32 bit (see raspberrypi/firmware#1795). Because of this uname will return aarch64 and the 64 bit Interop is used. This makes the mmap call fail.
To get it running on my system, I changed the code in NativeMethods_V4L2.cs to use armv7l Interop for the aarch64 case.
This of course not a general solution, but I have no idea of how to create a better architecture selection.
from flashcap.
I can't look it up on RPi right now, but what about sappho's point that /dev/video may not exist?
from flashcap.
I've searched some [similar] [issues], maybe V4L2 related code needs to be updated.
But it's odd because Raspbian 11 was released two years ago, and FlashCap was released last year.
Source of simple problem that throws the above exception:
I suggest getting a stack trace (toward Linux system calls) with this code may help discover the problem.
from flashcap.
but what about sappho's point that /dev/video may not exist?
Device exits and I can open it with a native linux program (guvcview).
Also, if FlashCap couldn't open the device, then I think it would fail earlier. It does some ioctl on the fd, before the failing mmap.
I suggest getting a stack trace (toward Linux system calls) with this code may help discover the problem.
I'm not sure how to do this.
from flashcap.
Oh, understood... This difference could also be in Win32 WoW. (Fortunately in Win32 we didn't have to interact directly with the native interface, so the problem didn't occur.)
It might be a good idea to additionally check IntPtr.Size to choose between using aarch64 or armv7l (maybe we should do the same for x86_64).
from flashcap.
Fixed and will release on next version.
from flashcap.
Related Issues (20)
- Capture Error event handler HOT 1
- SET the power line frequency property HOT 1
- After running StartAsync() on linux, executing StopAsync() and then StartAsync(), pixelBufferArrived will not be executed again. HOT 4
- VideoCharacteristics not detected HOT 17
- Typo in Linux device enumeration HOT 3
- Reversed logic when enumerating Linux device capabilities HOT 3
- 执行OpenAsync时发生异常 HOT 1
- Elgato CamLink 4K DirectShow Pixel Format HOT 4
- Capture works first time on Linux, but not subsequent times HOT 4
- How to do shrink memory when capturing from WebCam to WPF HOT 2
- Avalonia aot 启动失败
- Is there a camera snapshot event handler? HOT 1
- AutoPixelBufferScope set PixelBuffer to null, cause allocate new PixelBuffer for every frame HOT 3
- Possible leaks in AsyncLock HOT 1
- Desktop Screen Capture Support HOT 1
- Support for camera module/ CSIconnector on Pi Zero 2W HOT 3
- OnPixelBufferArrived can not get new YUYV buffer in v1.10.0 (v1.9.0 is ok) HOT 5
- Support for AV to USB HOT 3
- 当同时连接多个摄像头(比如6个)的时候,数据返回会缺失 (When multiple cameras are connected simultaneously (such as 6), data return will be missing) HOT 2
- Verified Capture Cards HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flashcap.