[gst-devel] Setting pad properties at commandline

Sameer Naik sameer at damagehead.com
Fri Oct 19 14:28:23 CEST 2007


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
> >>
> >
> >
> 
> 





More information about the gstreamer-devel mailing list