Possible to start/stop sensor using libargus

we currently try to integrate a IMX715 in our software and would like to have the ability to start/stop the acquisition of the camera without deconstructing the argus/EGL Buffers.

Currently I cant find a way to stop it using e.g. iCaptureSession->stopRepeat(), because after doing that i get a buffer overflow or a segmentation fault.

Is there a way like in v4l doing xioctl(m_fd, VIDIOC_STREAMOFF, &type) or something?

Thanks for all the answers!


hello Kewpcool,

what did you meant “without deconstructing the argus/EGL Buffers.”? may I know what’s the real use-case.
normally, you should stop the repeating request and, wait for idle before shutting down.

Hi Jerry,

Im sorry if it was not clear. We have a bigger application which handles multiple connected cameras. We want to give the user the ability to start/stop those cameras individually. With stop I mean stop the image acquisition, so no more traffic on the MIPI channel. With v4l2 I can do that using the VIDIOC_STREAMOFF command.
Our pipeline for these cameras relies on libargus and we derived it from one of the nvidia samples. No sample however stops the camera and starts it again, the two command you posted are only used when deconstructing the complete pipeline. We want to just simply stop the acquisition and not close the complete pipeline, so that the we can start it again pretty fast.

we’ve not test such scenario to terminate/restart one of the stream.
there’s similar scenario, such as Topic 243051 with intermittent MIPI signaling.
however, the application must restart for handling the error condition by using Argus.

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