[gst-devel] Connecting equalizer as audio_sink to playbin

4ernov 4ernov at gmail.com
Thu Oct 21 16:32:40 CEST 2010


Hello,

I need to add equalizer elements (equalizer-10bands to be more exact)
as audio_sink to playbin and then connect equalizer's src to audio
sink (alsasink in my case). Here's my code:

// ...

GstElement* pipeline         = gst_element_factory_make("playbin", NULL);
GstElement* eq			= gst_element_factory_make("equalizer-10bands", NULL);
GstElement* audiosink	= gst_element_factory_make("alsasink", NULL);

gst_element_link(eq, audiosink);

g_object_set(G_OBJECT (pipeline), "uri", uri, NULL);
g_object_set(G_OBJECT (pipeline), "audio-sink", GST_ELEMENT(eq), NULL);

gst_element_set_state (pipeline, GST_STATE_PLAYING);

g_main_loop_run (_loop);

// ...

The pipeline fails to go to PLAYING state with

ERROR! Error: Internal data flow error.
DEBUG  Error: gstbasesrc.c(2550): gst_base_src_loop ():
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstFileSrc:source:
streaming task paused, reason not-linked (-1)

message. I also tried to add the three to separate pipeline but it
fails again with another message:

ERROR! Error: Internal GStreamer error: pad problem.  Please file a
bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
DEBUG  Error: gstplaysink.c(1801): gen_audio_chain ():
/GstPlayBin2:playbin20/GstPlaySink:playsink0:
Failed to configure the audio sink.

Is it possible to connect some filtering element (which in turn is
connected to some audio sink) as audio_sink to playbin? I simply can't
solve the problem except removing playbin and making pipeline
manually.

Thanks in advance.

Alexey




More information about the gstreamer-devel mailing list