Linking issue when using aiurdemux with imxvideoconvert_g2d (GStreamer, IMX8MM)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Linking issue when using aiurdemux with imxvideoconvert_g2d (GStreamer, IMX8MM)

896 Views
graham-s
Contributor II

Hello, 

I'm developing an application for the IMX8M Mini using opencv videocapture with a GStreamer backend. So far, I have the following pipeline, which works and outputs video in YUV format:

cv::VideoCapture("filesrc location=<filename>.mp4 ! video/quicktime,systemstream=true ! aiurdemux name=demux demux. ! queue ! vpudec ! queue ! appsink", cv::CAP_GSTREAMER));

 

However, I would like to have the video in RGB, as later on in the program I need to use the video input as an OpenGL texture. My approach for this has been to add the imxvideoconvert_g2d to the GStreamer pipeline.

When I run the following pipeline from the command line, I get video output as expected:

gst-launch-1.0 filesrc location=<filename> ! video/quicktime,systemstream=true ! aiurdemux name=demux demux.video_0 ! vpudec ! imxvideoconvert_g2d ! video/x-raw,format=RGB16 ! waylandsink

 

However, when I try to use this pipeline in the application, I get GStreamer linking errors with aiurdemx:

Pipeline:

cv::VideoCapture("filesrc location=/media/1080_grapes.mp4 ! video/quicktime,systemstream=true ! aiurdemux name=demux demux.video_0 ! vpudec ! imxvideoconvert_g2d ! video/x-raw,format=RGB16 ! appsink", cv::CAP_GSTREAMER));

Linking Errors:

0:00:00.078805339  1474 0xffffb418a8a0 WARN default grammar.y:506:gst_parse_no_more_pads:<demux> warning: Delayed linking failed.
0:00:00.078868090  1474 0xffffb418a8a0 WARN default grammar.y:506:gst_parse_no_more_pads:<demux> warning: failed delayed linking pad  video_0 of GstAiurDemux named demux to some pad of GstVpuDec named vpudec0

 

Thank you in advance for any help with this.

Tags (2)
0 Kudos
2 Replies

880 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello graham-s,

The problem looks like that the pads video_0 have been renamed video_00 and also miss audio. This can be seen using gst-inspect-1.0 aiurdemux, which indicates that the format for the pads now reads video_%u

 

Regards

 

0 Kudos

874 Views
graham-s
Contributor II

Hello,

Thank you for the quick reply!

Sorry, the video_0 name was left over from when I was trying different things to make it work, I should have removed that before posting. However, when I remove it, I still get the same error.

Both of the following pipelines still give me the same delayed linking error as in my original post:

cv::VideoCapture("filesrc location=/media/1080_grapes.mp4 ! video/quicktime,systemstream=true ! aiurdemux name=demux demux.video_%u ! vpudec ! videoconvert ! video/x-raw,format=RGB16 ! appsink", cv::CAP_GSTREAMER);
new cv::VideoCapture("filesrc location=/media/1080_grapes.mp4 ! video/quicktime,systemstream=true ! aiurdemux name=demux demux. ! vpudec ! videoconvert ! video/x-raw,format=RGB16 ! appsink", cv::CAP_GSTREAMER);

 

Additionally, I don't need audio for my application. Do I need to handle the audio as well in order for the pipeline to work?

 

Best,

Graham

0 Kudos