QGC gstreamer UDP pipeline discrepancy with gst-launch-1.0

Dear QGC friends,

We were wondering what is the equivalent gst pipeline QGC applies for its UDP H264 video stream.

We thought that the QGC’s UDP pipeline is equivalent to below pipeline as its readme says:

gst-launch-1.0 udpsrc port=5600 caps='application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264' ! rtpjitterbuffer ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink fps-update-interval=1000 sync=false

However, it seems that QGC’s VideoReceiver does more than that (s.t. tee, queue, parsebin, decodebin, time stamp, padding, etc…or maybe QGC uses dynamic pipeline!?). We recently can not reproduce its UDP H264 video streaming by simply using the above pipeline.

Hope to hear your expertise.

– Luke

Update: we are using parsebin ! decodebin to replace rtph264depay ! h264parse ! avdec_h264.
We found it illustrates the source code better.