4 ms·
Thank you for sharing your project! Very cool to see a combination of low-level Linux kernel APIs and .NET. True hacker spirit right there!
by athrun 6y ago
Thank you for sharing your project!
Very cool to see a combination of low-level Linux kernel APIs and .NET.
True hacker spirit right there!
- Const-me 6y agoThanks! BTW I used more than V4L2. ALSA from libasound.so.2, there: https://github.com/Const-me/Vrmac/blob/master/VrmacVideo/IO/ALSA/libasound.cs https://github.com/Const-me/Vrmac/blob/master/VrmacVideo/IO/... and the rest of libasound.*.cs files in that folder (parts of the same static class). Audio output is harder than necessary on all OSes I developer for, including Windows. From the internets I got an impression that at least on RPi, ALSA PCM is more reliable than the rest of them. Also doesn’t depend on any desktop components, important because the library can also be used without any desktop environment, rendering on a physical display. Message queues from librt.so https://github.com/Const-me/Vrmac/blob/master/VrmacVideo/IO/Kernel/MessageQueue.api.cs https://github.com/Const-me/Vrmac/blob/master/VrmacVideo/IO/... .NET has equivalent stuff already. I needed poll() to get notified about multiple things not just queued messages, as both V4L2 and ALSA expose poll()-compatible file handles in their respective APIs.