Question about repeat capture

May I ask if there is a way to perform repeat capture ICaptureSession->repeat(Request) without using multi-threading?

So far, all Jetson sample code I have seen use multi-threading if repeat() is used. I have tried different things and always got waitForIdleLocked error without using multi-threading. And when that error happens, the application hangs. That made me wondering if multi-threading is necessary to perform repeat capture. Basically, one dedicated thread keeps reading from the EGLStream.

From the document, I saw it is possible that the stream could be stall if the consumer is not fast enough. Is it the reason that a dedicated thread is necessary to keep streaming moving? When the stream is stall, what can I do to restore the stream?

To summarize.

  1. Is multi-threading necessary to perform repeat capture?
  2. If it is necessary, is that because the stream could be stall if the consumer is not fast enough and then the application could hang?
  3. If it is not necessary, how can I restore the stream if it stalls?

Thank you very much for your help!

Suppose the sensor start streaming will not stop if the consumer lock the buffer that would cause capture pipeline stock and timeout to hang up.
I think that could be the reason.

Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.