Thomas Roos
2013-09-30 09:46:10 UTC
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
***@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
***@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 ...
***@ipac:~#
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
***@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
***@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 ...
***@ipac:~#