This is a crate that talks directly to a V4L2 kernel driver and can be used either for safer, low-level access to video devices on Linux, or at a higher-level to provide specific services (for now, only hardware-accelerated video decoding or encoding). It also exports a C FFI for video decoding that provides hardware-accelerated video decoding in a few functions.
I have found Rust to be a great fit for this kind of work and would like to up my game a bit, but haven't been getting feedback from experts on this project so far.
The repository is a few thousand lines of code now, a bit larger than I am usually comfortable with when asking for reviews, so please don't feel like you need to look at absolutely everything. Although there are undoubtedly many small details that could be improved I am mostly interested in being challenged over the general design of the crate, how accessible it is for someone discovering it for the first time, and things-to-not-do before publishing it. But of course any kind of feedback would be greatly appreciated.