The usb3.0 bandwidth is almost 350MB/s, but I use aravis to capture the usb stream, I found the max bandwidth is only almost 140MB/s, when the speed of real streamis more than 140MB/s, it lost the frames.
When I turn on the chunkdata and then capture the FLIR BFS usb3.0 camera stream.
For example, set the region pixel is 2448*2048, the format is bayer rggb, if fps is less than 30fps, it works well.
But if the fps is more than 35fps, such as 40fps, than I found the frames always lost by check the ChunkFrameID.
In the new-buffer callback method, I can check the newest ChunkFrameID and ChunkTimestamp, when the ChunkFrameID is not continuous, I can think the frame is lost. But at the sametime, I cannot got the control-lost signal and call the arv_stream_get_statistics(), both the n_failures and n_underruns are zero.
So it seems that when the frame lost , the aravis still think it works well.
Please help me to fix the issue, thks.
PS: I used arv_camera_set_chunks to turn on the chunkdata as below:
arv_camera_set_chunks (m_pArvImpl->m_Camera, “FrameID,Timestamp”, NULL);