GNOME Bugzilla – Bug 500142
switch element in switch plugin should be renamed
Last modified: 2008-01-29 12:33:33 UTC
the switch element in bad is infact a "N-to-1 input switch" (as also the gst-inspect tells). It would be good to rename the element in oder to also be able to add a "1-to-N output switch" to the same plugin. So what would be a good element name? * input-switch (still ambigous) * switch-Nto1 * input-select (makes clear that it selects 1 of N inputs)
There is an element in playbin (not exported) that does the same thing. Getting the locking, buffer_alloc, segments and switching completely right is not very easy.
Wim, are you refering to the "StreamSelector" - "N-to-1 input stream_selectoring".
What is a 1-to-N output switch useful for?
We for instance would like to use it in cheese [1] We have basically two modes shooting a video or a photo. Based on the mode a different recording pipeline should be used. [1] http://www.gnome.org/projects/cheese/
Forgot to mention that I filed bug #500505 requesting the 1-N switch
Note that switch's code has now been replaced with streamselector's code, with some modifications. Probably the correct path now is for playbin to think about using switch, potentially renaming back to streamselector, exported in playbin's .so file. Dunno.
2008-01-29 Stefan Kost <ensonic@users.sf.net> * configure.ac: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-bad-plugins-docs.sgml: * docs/plugins/gst-plugins-bad-plugins-sections.txt: * docs/plugins/gst-plugins-bad-plugins.args: * docs/plugins/gst-plugins-bad-plugins.hierarchy: * docs/plugins/gst-plugins-bad-plugins.interfaces: * docs/plugins/gst-plugins-bad-plugins.signals: * docs/plugins/inspect/plugin-metadata.xml: * docs/plugins/inspect/plugin-selector.xml: * docs/plugins/inspect/plugin-soundtouch.xml: * docs/plugins/inspect/plugin-switch.xml: * gst/selector/.cvsignore: * gst/selector/Makefile.am: * gst/selector/gstinputselector.c: * gst/selector/gstinputselector.h: * gst/selector/gstoutputselector.c: * gst/selector/gstoutputselector.h: * gst/selector/gstselector-marshal.list: * gst/selector/gstselector.c: * gst/selector/selector.vcproj: * gst/switch/.cvsignore: * gst/switch/Makefile.am: * gst/switch/gstswitch-marshal.list: * gst/switch/gstswitch.c: * gst/switch/gstswitch.h: * gst/switch/switch.vcproj: * tests/icles/.cvsignore: * tests/icles/Makefile.am: * tests/icles/output-selector-test.c: Replace the switch plugin with the selector plugin. Add output- selector as the opposite of input-selectoo (was switch). Add a test for output-selector. Add docs for the elements. The vcproj needs update. Fixes #500142.
This output selector will be handy for Cheese. Thanks