After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 490682 - [interleave] can't create more than one request sink pad
[interleave] can't create more than one request sink pad
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.5
Other Linux
: Normal major
: 0.10.6
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-10-26 23:45 UTC by Petri Rokka
Modified: 2007-10-27 16:06 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Petri Rokka 2007-10-26 23:45:38 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
Comment 1 Tim-Philipp Müller 2007-10-27 16:06:37 UTC
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.