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 536696 - audioconvert fails with interleave
audioconvert fails with interleave
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-06-04 22:07 UTC by Tristan Matthews
Modified: 2008-06-05 06:11 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description Tristan Matthews 2008-06-04 22:07:16 UTC
Please describe the problem:
A launch line that should give 6 channel audio fails. The problem seems to be between interleave and audioconvert.

Steps to reproduce:
The following launch line:

gst-launch-0.10 interleave name=i ! audioconvert ! alsasink \
audiotestsrc volume=0.5 freq=200 ! audioconvert ! queue ! i. \
audiotestsrc volume=0.1 freq=300 ! audioconvert ! queue ! i. \
audiotestsrc volume=0.1 freq=500 ! audioconvert ! queue ! i. \
audiotestsrc volume=0.1 freq=700 ! audioconvert ! queue ! i. \
audiotestsrc volume=0.1 freq=900 ! audioconvert ! queue ! i. \
audiotestsrc volume=0.4 freq=1100 ! audioconvert ! queue ! i.


Actual results:
The pipeline dies with the following error messages:
** (gst-launch-0.10:16347): CRITICAL **: audio_convert_prepare_context: assertion `in->unpositioned_layout == out->unpositioned_layout' failed
ERROR: from element /pipeline0/audiotestsrc2: Internal data flow error.
Additional debug info:
gstbasesrc.c(2240): gst_base_src_loop (): /pipeline0/audiotestsrc2:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...


Expected results:
This should create a 6 channel sound.

Does this happen every time?
Yes.

Other information:
This launchline used to work, the bug must have happened with a recent revision to the CVS (probably the last revision).
Comment 1 Sebastian Dröge (slomo) 2008-06-05 06:11:33 UTC
That's no bug. interleave will use a NONE channel layout by default unless it can build a valid channel layout from the input (i.e. every mono input contains a different valid channel position) or unless you provide a valid channel layout by the channel-positions property.

audioconvert can handle NONE channel layouts but can't convert those to a different layout or to more or less channels.

Take a look at the interleave unit test in gst-plugins-bad/tests/check/elements/interleave.c to see how to provide a channel layout.