Hi all,
Is there any go resource or anyone with knowledge of webcamd? I'm trying to figure out why my webcam doesn't work properly with it, the image is corrupted as per the attached image. I started on 14.0, but now I've migrated to 14.1, but I don' think that makes any difference tbh.
I've spent a bit of time hacking on it, and I kinda see how it works essentially running the Linux webcam drivers as a userspace daemon and forwarding ioctls though to the linux side. I don't have a lot of experience on this code. I've spent a bit of time getting it to compile, debugging around the ioctls but I haven't found anything wrong so far. The webcam ( /dev/ugen0.10: ID 145f:023a Trust) is afaict using standard USB interfaces, not any of the special drivers in the linux tree.
From my debug, the webcam seems to support various modes MJPG and YUYV outputs, pwcview and Firefox both seem to select the MJPG though. It looks from the image like the buffers are getting screwed up somehow, because we see the rows running into each other, like the width is incorrect. Also after the first few rows we see band of red, green and blue. I thought at first it was maybe due to using the multiplane mode in the linux API, but this does not appear to be the case. Smaller resolutions (e.g. vga) do not seem to work at all, just get a green box like it's trying to do an overlay and failing, even though the webcam claims to support this resolution.
I've also tried bumping the linux code from 5.17-rc1 to 5.17 to see if that made any difference, but I'm in no way brave enough to bump it any further, I suspect a lot of the patching the build does would break at that point. I'm pretty sure the webcam I'm using works on Linux 5.17, so I'm assuming the problem is on the FreeBSD side,
Any pointers would be appreciated,
Thanks,
Mark
Is there any go resource or anyone with knowledge of webcamd? I'm trying to figure out why my webcam doesn't work properly with it, the image is corrupted as per the attached image. I started on 14.0, but now I've migrated to 14.1, but I don' think that makes any difference tbh.
I've spent a bit of time hacking on it, and I kinda see how it works essentially running the Linux webcam drivers as a userspace daemon and forwarding ioctls though to the linux side. I don't have a lot of experience on this code. I've spent a bit of time getting it to compile, debugging around the ioctls but I haven't found anything wrong so far. The webcam ( /dev/ugen0.10: ID 145f:023a Trust) is afaict using standard USB interfaces, not any of the special drivers in the linux tree.
From my debug, the webcam seems to support various modes MJPG and YUYV outputs, pwcview and Firefox both seem to select the MJPG though. It looks from the image like the buffers are getting screwed up somehow, because we see the rows running into each other, like the width is incorrect. Also after the first few rows we see band of red, green and blue. I thought at first it was maybe due to using the multiplane mode in the linux API, but this does not appear to be the case. Smaller resolutions (e.g. vga) do not seem to work at all, just get a green box like it's trying to do an overlay and failing, even though the webcam claims to support this resolution.
I've also tried bumping the linux code from 5.17-rc1 to 5.17 to see if that made any difference, but I'm in no way brave enough to bump it any further, I suspect a lot of the patching the build does would break at that point. I'm pretty sure the webcam I'm using works on Linux 5.17, so I'm assuming the problem is on the FreeBSD side,
Any pointers would be appreciated,
Thanks,
Mark