There are several I2C slave devices attached with my CX3 video board. all I2C operation will done within esUVCUvcAppThread_Entry().
I want to know whether these I2C operations which are time-consuming can block video streaming?
For example,UVC header is added by CPU manually, which is done by esUVCUvcAppDmaCallback(), do I2C operation in esUVCUvcAppThread_Entry() block this action and then block video streaming?
You can create a separate thread using CyU3PThreadCreate() API for performing I2C operation. You can use CyU3PThreadRelinquish() API for fair scheduling of the two threads.
You can refer to uvc.c file of AN75779 example project for working with two threads.