Position fpsdisplaysink at different location in frame?

Hi devs!

I’m using a gstreamer pipeline with a Qt program, where it takes in a v4l2 source, does some conversion and outputs on the fpsdisplaysink. This works great, but running into an issue where some Qt elements are covering up the bottom portion of the frame and covers up the fpdisplaysink. I cannot have the QMediaPlayer adjust its size because it causes were display artifacts.

Is there a way, through gst-launch-1.0 to move the fpsdisplaysink text positioning? It uses a textoverlay, so I figured it could use features of the textoverlay for alignment and positioning, but it doesn’t suport those options.

Any guidance is most appreciated.


You should be able to retrieve the internal textoverlay element and set properties on it somehow.

Either retrieve it via textoverlay = gst_bin_get_by_name(fpsdisplaysink, "fps-display-text-overlay") (don’t forget to unref later), or by connecting to the "element-added" signal on it.

The fpsdisplaysink also supports the GstChildProxy interface so you should be able to set child properties using that as well.

That’s what I figured I’d have to do. Since there’s nothing that can be done via the gst-launch-1.0 command, I think this would be the only solution.

It should be possible to use the child proxy interface via gst-launch-1.0 and set properties that way.

You can look at the compositor element documentation for an example of that (here the child is a pad and the pad name is specified and not an element, but the principle is the same)