fatal error when using deinterleave/interleave

Charlie Laub charleslaub at sbcglobal.net
Sun Feb 4 21:56:09 UTC 2018


I am testing out (and learning about) gstreamer via gst-launch. As a "hello
world" test I did a simple input-to-output connection on an alsa device,
like this:

gst-launch-1.0 -vm alsasrc device="hw:1,0" ! alsasink device="hw:1,0"

It works. The alsa device is an on-board audio codec that has input and
output. I didn't test the audio by listening to anything, but the debug
output shows that it is in the PLAYING state.

So far so good. Now I want to move on to a slightly more complicated
example!

I decided to expand the above example to deinterleave the audio input and
interleave it back together again. There are examples of this e.g. given on
the interleave element reference page. Here is the pipeline:

gst-launch-1.0 -vm alsasrc device="hw:1,0" ! deinterleave name=d   \
interleave name=i ! audioconvert ! alsasink device="hw:1,0"   \
d.src_0 ! queue ! audioconvert ! i.sink_0   \
d.src_1 ! queue ! audioconvert ! i.sink_1   \

It doesn't work. I get the error "Internal data stream error" with
additional info that for alsasrc0 "streaming stopped, reason not-negotiated
(-4)"

This seems like so simple an example, but I cannot figure out why it doesn't
work. It seems to follow the form of example pipelines that I have found on
the web.

What am I doing wrong, or not doing?


.



More information about the gstreamer-devel mailing list