gstreamer element 'queue' minimum size

Hi guys I’ve got issues setting the minimum queue size in my pipeline:
“gst-launch-1.0 -v filesrc location=“test.mp4” ! qtdemux ! h264parse ! omxh264dec ! queue min-threshold-time=300000000 max-size-time=10000000000 max-size-bytes=0 max-size-buffers=0 ! autovideosink”

I’m looking to set the min-threshold-time to 1 second, but the max I’m able to set is 300ms(incidentally 10 GstBuffers) without causing issues. Values above 300ms will prevent the video from playing.

What’s preventing the pipeline from playing? One of the elements blocking?

HI, Nicholas
I see you post this in Tesla area, but as i know, gst omx supported on Jetson platform, not on Tesla,
Can you tell which platform you using?

Hi amycao,
I’m currently working on the Jetson TX2 platform. Sorry if I posted in the wrong sub forum.
Is there a specific sub-f for tx2 deepstream issues?

Hi Nicholas,

omxh264dec can only output 32 buffers(for different video, it may vary a little), if you increase max buffer, will queue plugin hold all the buffer?
If yes, omxh264dec will not receive buffer for decode.

Just my guess.
You can do some experiment in your side.

wayne zhu

Hi Wayne,

Thanks for pointing me in the right direction.

As you’ve said it appears that ‘omxh264dec’ has a limit to the number of buffers it can output. Switching to a software decoder ‘avdec_h264’ allows me to set any size queue I desire.

It also seems that the max output buffers for ‘omxh264dec’ is capped at 16

output-buffers      : The number of OMX decoder output buffers (0 = auto)
                        flags: readable, writable, changeable only in NULL or READY state
                        Unsigned Integer. Range: 0 - 16 Default: 0

Would you happen to know if this limit in ‘omxh264dec’ can be altered? Maybe in the source code or something. Or is this a limitation of the hardware? Would be nice to use the on board decoder to offload cpu usage.


Hi Nicholas,
I have tried to set max-size-time= a big value, and it work well.
But I have tried to set min-threshold-time to a big value, it cause crash.
In setting min-threshold-time case, queue will hold many buffers which is bigger than the number omxh264dec can provide, so it stuck.

wayne zhu