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

Stefan Kost ensonic at hora-obscura.de
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

gst_element_get_request_pad(mixer,"sink_%d");
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.

Stefan
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Still-can-t-get-videomixer-to-do-live-video-at-full-frame-rate-tp3748457p3756256.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list