GNOME Bugzilla – Bug 490682
[interleave] can't create more than one request sink pad
Last modified: 2007-10-27 16:06:37 UTC
Product: GStreamer Component: gst-plugins-bad Version: 0.10.5-4 OS: Debian GNU/Linux lenny/sid Plugin: interleave Element: interleave Description: I just can't request new sinks from interleave without trouble. It always tells me: GStreamer-CRITICAL **: Padname sink%d is not unique in element I made this small pygst program that reproduces the bug. <--------------------------- bug.py --------------------------------> #!/usr/bin/env python # plugin: GStreamer plugins-bad - interleave-plugin # bug: request sink bad doesn't work import pygst pygst.require("0.10") import gst # request pads works adder = gst.element_factory_make("adder", "adder0") print 'trying to request sinks from adder' adder_sink0 = adder.get_request_pad("sink%d") print 'adder_sink0: ok' adder_sink1 = adder.get_request_pad("sink%d") print 'adder_sink1: ok' # request pads doesn't work (bug?) interleave = gst.element_factory_make("interleave", "interleave0") print 'trying to request sinks from interleave' interleave_sink0 = interleave.get_request_pad("sink%d") print 'interleave_sink0: ok' # this will print: # GStreamer-CRITICAL **: Padname sink%d is not unique in element interleave0, not adding interleave_sink1 = interleave.get_request_pad("sink%d") print 'interleave_sink1: error should read above this line' <----------------------------- output of the program ----------------------> trying to request sinks from adder adder_sink0: ok adder_sink1: ok trying to request sinks from interleave interleave_sink0: ok (bug.py:18769): GStreamer-CRITICAL **: Padname sink%d is not unique in element interleave0, not adding interleave_sink1: error should read above this line
Should be fixed in CVS now: 2007-10-27 Tim-Philipp Müller <tim at centricular dot net> * gst/interleave/interleave.c: (gst_interleave_request_new_pad): Let's not call every request pad we create "sink%d", that'll create problems if there's to be more than one pad. Fixes #490682. * tests/check/Makefile.am: * tests/check/elements/.cvsignore: * tests/check/elements/interleave.c: Add unit test for the above.