Executing Libargus oneShot Sample with custom driver.


I’m trying to execute libargus sample oneShot.

I put prints to understand whether my device is detected or not. It is being detected.
i.e cameraDevices.size() is 1.

But oneShot is failing while acquiring the frame. And giving the below error.

(Argus) Error InvalidState: Error returned from streamConsumerUpdateFrame (propagating from src/eglstream/FrameConsumerImpl.cpp, function acquireFrame(), line 271)

Failed to get IFrame interface

Could anybody help me out.


  1. What sensor are you using?

  2. Does it provide Bayer?

  3. Are you able to capture using GStreamer? ( Here there are some GStreamer examples for your convenience: http://developer.ridgerun.com/wiki/index.php?title=Gstreamer_pipelines_for_Tegra_X1 )


Hi alamuru
MarcoMadrigal is correct. You have to make sure your driver can work with nvcamerasrc first. You can reference to document “Sensor Driver Programming Guide” to check your sensor driver is not problem first.

Hi MarcoMadrigal and Shane

  1. I’m using imx219.
  2. yes it provides bayer.
  3. I’m able to capture using gstreamer.

Earlier in my dtsi file I did not add mode node.
After adding the mode node gstreamer is working and also I’m able to capture a frame using oneshot.

Thank you Shane and MarcoMadrigal for the support :)

Hi Shane and Marco

I’m able to run oneShot and yuvJpeg samples successfully.
But when I try to run any other sample which is linked to OpenGL as consumer I’m facing this error.

ubuntu@tegra-ubuntu:~/tegra_multimedia_api/argus/build/samples/openglBox$ ./argus_openglbox
PRODUCER: Creating output stream
PRODUCER: Launching consumer thread
CONSUMER: Creating context.
CONSUMER: Connecting to stream.
Error generated. /home/ubuntu/tegra_multimedia_api/argus/samples/openglBox/main.cpp, threadInitialize:180 Unable to connect GL as consumer
Error generated. /home/ubuntu/tegra_multimedia_api/argus/samples/utils/Thread.cpp, threadFunction:126 (propagating)
Error generated. /home/ubuntu/tegra_multimedia_api/argus/samples/openglBox/main.cpp, execute:290 (propagating)
Segmentation fault

Could you please help me resolve this.

Hi guys

All the argus samples are working on flash memory. But EGL dependent samples are not running on SD Card.


  1. Flash memory is flashed with jetpack 2.3.1.
  2. SD Card’s rootfs is similar to jetpack 2.3.1. But only multimedia API with all dependencies is installed from a host machine via network.
  3. I replaced the image and dtb in the flash with the image and dtb from the SD card.
  4. I executed all the samples in flash. All are working and running smoothly.
  5. But they are not running on SD Card. I am getting error in the above post.

It looks like something is not installed properly.

I faced similar issue in VisionWorks also. I couldn’t execute the visionworks default samples provided by NVIDIA on sd card whereas the same samples could be executed if I switch to flash memory.

How can I run the argus samples on SD Card also. What am I missing??

Does the flash memory is the on board EMMC memory? What the format of the SD card. I can run the argsu_openglbox on my SD card (Ext4) that copy from the internal EMMC memory.

Hi alamuru,

Have you managed to run the argus samples on your SD card?
Any result can be shared?