Still can't get videomixer to do live video at full frame rate

Stefan Kost ensonic at
Sat Aug 20 01:09:08 PDT 2011

On 08/20/11 00:29, wally_bkg wrote:
> Stefan Kost wrote:
>> On 08/19/11 18:12, wally_bkg wrote:
>>> Stefan Kost wrote:
>>>> On 08/17/11 18:37, wally_bkg wrote:
>>>>> wally_bkg wrote:
>>>>>         // shift a camera to bottom half of container frame
>>>>> 	mixsink1=gst_element_get_pad(mixer,"sink_1");
>>>> gst_element_get_static_pad
>>>> Stefan
>>>>> 	if(mixsink1){
>>>>> 		g_object_set (G_OBJECT (mixsink1), "ypos", 480, NULL);	 
>>>>> 	}else
>>>>> 		g_print("Can't get mixer sink_1 pad!");
>>> Thanks, but this is a bit confusing.  Are you saying I should just use
>>> gst_element_get_static_pad() with the same arguments I used with
>>> gst_element_get_pad()?  
>>> I though the mixer pads were "request".  The documentation says the
>>> problem
>>> with gst_element_get_pad() was after getting the pad reference it wasn't
>>> clear which kind of pad it was.  
>> Sorry indeed those are request pads, so please use the other function.
> Actually gst_element_get_request_pad() doesn't work, I get:
> GStreamer-CRITICAL **: Padname sink_0 is not unique in element mixer, not
> adding

I made a small change to the docs to point that out.
> I'd forgotten about this while I was stumbling around trying to figure out
> how to do it before I came up with using gst_element_get_pad().
> It seems the "depreciated and to be removed" gst_element_get_pad() function
> does something that can be most useful and code simplifying.
The problem with hat one is that it will leak request_pads.
> Namely returning a reference to a request pad that was automatically linked
> with:
> gst_element_link_many(source1, colorspace1, scale1, I420filter1, vrate1,
> tover1, queue1, mixer, NULL);
> In light of this, I think removing it from a future version would be a
> mistake, unless  a clearly documented better way is introduced.
We are improving the documentation. You need to understand that a static
pad is always there, for request_pads you create a new one when getting
it, someone has to drop it also at some point.

> --
> View this message in context:
> Sent from the GStreamer-devel mailing list archive at
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at

More information about the gstreamer-devel mailing list