[gst-devel] Mixing signals

Ikke eikke at eikke.com
Tue Mar 29 08:47:51 CEST 2005


Today I've been playing around with the different elements in GStreamer
I'd need to create some sort of "sound mixer", mixing several input
signals together to one output (alsasink).

The setup I tried to produce:

src1  ---->   volume control 1   \
                                  \---->   adder   ---->   alsasink
src2  ---->   volume control 2   /

(I hope this renders correctly in your mail reader)

First I tried to get 2 sinesrc's (with a different frequency, playing
with sines is easy) working together. I *think* that worked (the output
was crippled though, I guess because of phase differences before the

Now I tried mixing 2 MP3 files together (source code attached, you need
"test1.mp3" and "test2.mp3" in PWD of course). This just doesn't work. I
can play one file or the other, just by not linking one of the volume
controls to the adder (but I do register a sink on the adder), but when
I link both volume src's to 2 sinks of the adder, I get this GStreamer

(process:17870): GStreamer-WARNING **: pushing data on non-negotiated
pad decoder1:src, not allowed.

No output is generated at all.

Issuing with --gst-debug-level=3 doesnt help me any further :( (the
difference between level 2 and 3 is huge, by the way. Maybe not a bad
idea to add one in between?)

I have no clue how to solve this, or what the caus of the problem is.

Maybe I'm just making some dumb connection mistake or something, I did
inspect the resulting "mixer2.xml" file using gst-editor, it does look
fine there.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: mixer2.c
Type: text/x-csrc
Size: 4010 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20050329/3c69e4b9/attachment.c>

More information about the gstreamer-devel mailing list