audioconvert refuses to convert mono into stereo in Gstreamer 1.09

Thomas Roos thomas at roosesweb.de
Mon Sep 30 02:46:10 PDT 2013


The actual problem occured in own  C code but can be boiled down to the
following gst-launch pipelines.
Are "channels=(int)1, channel-mask=(bitmask)0x0000000000000000" valid caps
for mono audio?
Depending on the answer to that that question either *avdec_g722* or *
audioconvert* needs to be fixed IMHO.
Can anybody confirm this ?

1) Good pipeline

root at ipac:~# *GST_DEBUG=3 gst-launch-1.0 audiotestsrc ! avenc_g722
! avdec_g722 ! audioconvert ! audio/x-raw, channels=1 ! fakesink*
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.182954856   694    0xf0120 FIXME                default
gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<audiotestsrc0:src>
Creating random stream-id, consider implementing a deterministic way of
creating a stream-id
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 5513031006 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

1) Bad pipeline

root at ipac:~# *GST_DEBUG=3 gst-launch-1.0 audiotestsrc ! avenc_g722
! avdec_g722 ! audioconvert ! audio/x-raw, channels=2 ! fakesink*
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.182148390   696    0xf0120 FIXME                default
gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<audiotestsrc0:src>
Creating random stream-id, consider implementing a deterministic way of
creating a stream-id
0:00:00.192402311   696    0xf0120 WARN           basetransform
gstbasetransform.c:1348:gst_base_transform_setcaps:<audioconvert0>
transform could not transform audio/x-raw, rate=(int)16000,
channels=(int)1, channel-mask=(bitmask)0x0000000000000000,
format=(string)S16LE, layout=(string)interleaved in anything we support
0:00:00.194904758   696    0xf0120 WARN           basetransform
gstbasetransform.c:1348:gst_base_transform_setcaps:<audioconvert0>
transform could not transform audio/x-raw, rate=(int)16000,
channels=(int)1, channel-mask=(bitmask)0x0000000000000000,
format=(string)S16LE, layout=(string)interleaved in anything we support
0:00:00.196186498   696    0xf0120 WARN                 basesrc
gstbasesrc.c:2812:gst_base_src_loop:<audiotestsrc0> error: Internal data
flow error.
0:00:00.196949439   696    0xf0120 WARN                 basesrc
gstbasesrc.c:2812:gst_base_src_loop:<audiotestsrc0> error: streaming task
paused, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0:
Internal data flow error.
Additional debug info:
gstbasesrc.c(2812): gst_base_src_loop ():
/GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
root at ipac:~#
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130930/f79680f8/attachment.html>


More information about the gstreamer-devel mailing list