-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the capability for video class to handle a bulk endpoint in the streaming interface. #1985
Conversation
If you have time, could you try this PR for the your project. |
Wow, thanks, that would be fantastic. I will try it soon! I am currently a bit caught up in another project and my day job, so I cannot promise that I get to it before Easter, but my fingers are definitely itching to test it. |
look great, though I am on the run for other things, will review and test this as soon as I could |
Short sign of live: Other project finally finished and I will try it this week. Sorry for the long dealy. |
I think this is one of those good new / bad news situations... Good news: Bad news: I first suspected that I miss a few chances to transfer data while Anyhow, that's only a problem for my project. Generally speaking your code seems to work properly, so thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
About that rate: I did not test with a minimal project, but I suspect that this is an issue particular to my project as the rp2040 has quite a lot to do in that case and probably misses a few chances to transmit data when Point is: I would not rule out that the bulk implementation here could yield higher rates. |
Great, thank you for your update and explanation. |
Sorry, just another addendum (doesn't change anything, but might prevent someone coming from Google drawing the wrong conclusions): Anyhow, with even fewer resources available while encoding MJPEG I found that bulk works better than isochronous, so @kkitayam's bulk implementation is part of why I can soon publish a 60fps beta version :) Thanks a lot! |
I tried to use bulk transport, but I couldn't get the video stream on Linux, and the picture could be produced normally in Windows |
You will have to give more details like dmesg after connecting, software used to access the stream, the log of this software and ideally some code of yours. I have developed my project using TinyUSB's UVC primarily under Linux and had no problems with bulk transfer. |
thank you @Staacks for more update, glad you get it all working. GB Inteceptor is a great project. @rrrrrrobot Let keep the problem within your own issue, since you already opened one. |
Describe the PR
Add handling bulk endpoints in streaming interface. This feature is only compatible with streaming, and the still image capture function is not yet implemented.
Using bulk endpoints may allow for more bandwidth utilization than isochronous endpoints. It may also enable higher image sizes and frame rates.
Additional context
I have tested this PR on Raspberry Pi Pico and Windows 11.
I have confirmed that the
video_capture
can display color bars up to 128x96 60fps.