[gst-devel] Setting pad properties at commandline

Sameer Naik sameer at damagehead.com
Sat Oct 20 11:07:50 CEST 2007


i carried out a simple TEST to narrow it down.
in the _videomixer_init() function, i made a request for a new pad with
name "sink_1". so when a plugin instance is created, it will have a pad
"sink_1".
and now the pipeline,

gst-launch videomixer name=mix sink_1::xpos=0 ! ffmpegcolorspace !
xvimagesink videotestsrc ! mix.sink_1

,works fine
which means that the proxy interface is installed correctly. 
now the only thing i need to make sure of is that all the element pads
are created before the element properties are set on the object. so that
when _get_children_count is called on the object, the correct number of
sink pads on the object is returned.

need help in figuring this out. right now i have no idea of how this can
be achieved. 

awaiting you reply.
~sameer

On Fri, 2007-10-19 at 17:58 +0530, Sameer Naik wrote:
> hi, 
> i have registered the GstChildProxy interface on the videomixer. 
> the get_child_by_index and get_children_count have also been implemented
> now the gst-inspect videomixer include shows the following lines
> Implemented Interfaces:
>   GstChildProxy
> 
> next, whenever a new sink pad is added to the videomixer element
> gst_child_proxy_child_added() is called and when a pad is removed
> gst_child_proxy_child_removed() is called.
> 
> now if i execute the pipeline:
> gst-launch videomixer name=mix sink_1::xpos=0 ! ffmpegcolorspace !
> xvimagesink videotestsrc ! mix.sink_1
> 
> i get the following error message
> "WARNING: erroneous pipeline: no property "sink_1::xpos" in element
> "mix""
> and the pipeline exits.
> 
> on debugging i have found that the _child_count is queried before the
> pad is added to the element, as a result _child_count returns 0.
> 
> is there a way to wait until all pads are generated, before any
> properties are set on the element and thus its children..
> 
> ~sameer
> 
> 
> On Thu, 2007-10-18 at 15:55 +0200, Stefan Kost wrote:
> > Hi,
> > 
> > also the GstBin implements it. Ask me if you need help and let me know  
> > when you have a patch (bst to put on bugzilla and post the ticket here.)
> > 
> > Thanks for trying!
> > 
> > Stefan
> > 
> > 
> > Quoting Sameer Naik <sameer at damagehead.com>:
> > 
> > > i see it done in the equalizer plugin factory.
> > > i shall work on getting this functionality into the videomixer
> > > thanks for the help stefan
> > >
> > > ~sameer
> > >
> > > On Wed, 2007-10-17 at 20:41 +0300, Stefan Kost wrote:
> > >> hi,
> > >>
> > >> Sameer Naik schrieb:
> > >> > hi,
> > >> >
> > >> > im writing a n-1 element, and am using the videomixer plugin (from
> > >> > gst-plugins-good package) to get the plug-in architecture in place.
> > >> >
> > >> > in the videomixer plugin, i see that the gstpad object is overloaded and
> > >> > a new videomixerpad object is created to store information information
> > >> > about each input pad.
> > >> > the videomixerpad class has the following properties installed on it:
> > >> > alpha, xpos, ypos,...
> > >> > but if i run the following pipeline:
> > >> >
> > >> > gst-launch videotestsrc ! video/x-raw-yuv, xpos=320, ypos=240,
> > >> > alpha=0.1 ! ffmpegcolorspace ! xvimagesink
> > >>
> > >> #1 there is no videomix there.
> > >> #2 you cannot specify pad-proerties on capsfilter - it simple does   
> > >> not make sense
> > >>
> > >> Videomixer should implement the childproxy iface. Then you can do:
> > >> gst-launch videotestsrc ! videomixer src_00::xpos=320 src_00::ypos=240
> > >> src_00::alpha=0.1 ! ffmpegcolorspace ! xvimagesink
> > >>
> > >> Its not difficult, do you wanna try?
> > >>
> > >> Stefan
> > >>
> > >>
> > >> >
> > >> > no change appears at the displayed output, or to the properties of the
> > >> > pad.
> > >> >
> > >> > is it that the pad properties cannot be set in the above manner. if so,
> > >> > is there a way to set the pad properties at the command line level.
> > >> >
> > >> > regards
> > >> > ~sameer
> > >> >
> > >> >
> > >> > -------------------------------------------------------------------------
> > >> > This SF.net email is sponsored by: Splunk Inc.
> > >> > Still grepping through log files to find problems?  Stop.
> > >> > Now Search log events and configuration files using AJAX and a browser.
> > >> > Download your FREE copy of Splunk now >> http://get.splunk.com/
> > >> > _______________________________________________
> > >> > gstreamer-devel mailing list
> > >> > gstreamer-devel at lists.sourceforge.net
> > >> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> > >>
> > >
> > >
> > 
> > 
> 
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel





More information about the gstreamer-devel mailing list