This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM647 : Avoiding blocking when there is no input at video port.

Hello

We are developing an application using DM647 Processor and DVSDK.  Our application uses 3 input video ports and we are using FVID APIs for creating channels and capturing frames. We are capturing Raw data on video ports.

The problem we are facing is that whenever any one of the three input sources gets disconnected, the FVID_Exchange( ) call for the corresponding input port blocks and application comes to a complete halt. We will like to modify our code such that it can keep on processing the input from other video ports even when there is no input at one of the port. We dont face this problem on EVM board (i think because of decoders associated with the video ports) but on our target board we dont have the decoders.

Please suggest me the best way to implement this functionality. We have tried using FVID_Control API to get the number of lines captured at the port before calling FVID_Exchange( ) but it did not solved our problem.

Thanks alot

Ravikant

  • You could take your application and break it into (at least) three tasks where each video input has its own task that will block when it needs to, such that the other two video tasks can continue processing.

    You may also be able to fix this from a hardware standpoint if you can configure your video source to continually provide syncs to force the video driver to continue to cycle even if the input source is disconnected.