Most Host Applications like VLC set the frame rate as per the reception of data. The descriptors are only for the user to know whar are all the frame rates present.
In that particular 'Cup Video firmware', the firmware may send the video at a much faster rate actually. Only in an application where a camera is acually present we can put a frame rate equal to the camera's frame rate. As this is just a demo case, we can put whatever we want. But VLC Plays at a rate at which it receives data.
- Madhu Sudhan
Many thanks for your reply and explanation.
I had presumed that video players used the supplied frame rate so that they knew at what rate to 'play' the received frames at. This way they could buffer received frames and would not be reliant on 'just in time' delivery of the frames. Of course, like I said in my original post, I have no experience of video, so this was just my assumption. I based this on what I see when streaming a video over the internet - the receiving player buffers as many frames as it can in order to cope with any drop-out on the link, but the player still plays the video at the correct rate.
So, in the case of having a 'real' camera, the delivery of the data over the USB link will be equal to the delivery rate by the camera. Once the USB device has delivered a given frame, if it is asked for 'more' data by the host, presumably it returns 'nothing' until the 'next' frame is received from the camera.
I suppose my next move is to try a real camera, probably using the Cypress Video Class example (AN75779) as a starting point.
As an aside, can anybody point me at a good book or internet sources to help me to get to grips with terminology and a practical understanding of Video over USB, Streaming Video over the Internet etc... ???
I have been trying to use the example of the video class for a particular application design. I am yet to finished with that. still need help on this.
The exmplae document accompanied has details of Video over USB. You can also refer to USB by example to get hold of how the usb works refer link below
As far as video streaming over Internet is concerned , you need to know \
* Video basics ( formats, compression, digital representation form etc... )
* Video over internet ( TCP, RTP, RTSP) refer examples of live555 you will get some ideas. Well you need to know the video compression formats and the video container formats.