iOS: AURemoteIO at 0x31ab420: IOThread exiting with error 0x10004006

Elio Francesconi elio.francesconi at gmail.com
Sat Nov 9 23:18:41 PST 2013


I’ve added logs about negotiated caps for: 
	PIPELINE#1: gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011", &error);
and for this one:
	PIPELINE#2: gst_parse_launch("osxaudiosrc ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011", &error);

I’ve tried to extract from logs section regarding capability negotiated starting form source ending on alawenc, this is the result:

PIPELINE#1(WORKING):
0:00:00.216090000 [336m 1073[00m  0xe2b8c00 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2769:GstCaps *gst_pad_query_caps(GstPad *, GstCaps *):<audiotestsrc0:src>[00m query returned audio/x-raw, format=(string){ S16LE, S32LE, F32LE, F64LE }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]

0:00:00.218543000 [336m 1073[00m  0xe2b8c00 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2769:GstCaps *gst_pad_query_caps(GstPad *, GstCaps *):<audioconvert0:sink>[00m query returned audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]

0:00:00.220093000 [336m 1073[00m  0xe2b8c00 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2815:GstCaps *gst_pad_peer_query_caps(GstPad *, GstCaps *):<audioconvert0:sink>[00m peer query returned audio/x-raw, format=(string){ S16LE, S32LE, F32LE, F64LE }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]

0:00:00.221282000 [336m 1073[00m  0xe2b8c00 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2769:GstCaps *gst_pad_query_caps(GstPad *, GstCaps *):<audioconvert0:src>[00m query returned audio/x-raw, format=(string){ S16LE, S32LE, F32LE, F64LE }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2 ]; audio/x-raw, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]


0:00:00.221958000 [336m 1073[00m  0xe2b8c00 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2769:GstCaps *gst_pad_query_caps(GstPad *, GstCaps *):<alawenc0:sink>[00m query returned audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ] 


PIPELINE#2(NOTWORKING): 
….
finding pad in audioconvert0 compatible with osxaudiosrc0:src
0:00:00.271008000 [335m 1018[00m  0xe940800 [36mINFO   [00m [00;01;31;41m            GST_PADS gstutils.c:936:gboolean gst_pad_check_link(GstPad *, GstPad *):[00m trying to link osxaudiosrc0:src and audioconvert0:sink
0:00:00.271021000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2762:GstCaps *gst_pad_query_caps(GstPad *, GstCaps *):<osxaudiosrc0:src>[00m get pad caps with filter (NULL)
0:00:00.271039000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00m               query gstquery.c:680:GstQuery *gst_query_new_custom(GstQueryType, GstStructure *):[00m creating new query 0xe941a60 caps
0:00:00.271212000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00;01;31;41m            GST_PADS gstpad.c:3448:gboolean gst_pad_query(GstPad *, GstQuery *):<osxaudiosrc0:src>[00m doing query 0xe941a60 (caps)
0:00:00.271263000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00m             basesrc gstbasesrc.c:1248:gboolean gst_base_src_default_query(GstBaseSrc *, GstQuery *):<osxaudiosrc0>[00m query caps returns 0
0:00:00.271275000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00;01;31;41m            GST_PADS gstpad.c:3470:gboolean gst_pad_query(GstPad *, GstQuery *):<osxaudiosrc0:src>[00m sent query 0xe941a60 (caps), result 0
0:00:00.271286000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00;01;31;41m            GST_PADS gstpad.c:3514:gboolean gst_pad_query(GstPad *, GstQuery *):<osxaudiosrc0:src>[00m query failed
0:00:00.271300000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2762:GstCaps *gst_pad_query_caps(GstPad *, GstCaps *):<audioconvert0:sink>[00m get pad caps with filter (NULL)
….


0:00:00.276255000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2769:GstCaps *gst_pad_query_caps(GstPad *, GstCaps *):<audioconvert0:sink>[00m query returned audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]

0:00:00.279536000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2769:GstCaps *gst_pad_query_caps(GstPad *, GstCaps *):<audioconvert0:src>[00m query returned audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]

0:00:00.280053000 [335m 1018[00m  0xe940800 [37mDEBUG  [00m [00;01;34m            GST_CAPS gstutils.c:2769:GstCaps *gst_pad_query_caps(GstPad *, GstCaps *):<alawenc0:sink>[00m query returned audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 8000, 192000 ], channels=(int)[ 1, 2 ]



On 09 Nov 2013, at 19:35, Sebastian Dröge <sebastian at centricular.com> wrote:

> On Sa, 2013-11-09 at 19:19 +0100, Elio Francesconi wrote:
>> Sorry Sebastian I did some tests but I’m not able to use properly capsfilter, but I did these tests:
>> 
>> this pipeline works very good:
>> gst_parse_launch("osxaudiosrc ! audioconvert ! audioresample ! autoaudiosink", &error);
>> this pipeline works too:
>> gst_parse_launch("audiotestsrc ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011", &error);
>> 
>> this one no:
>> gst_parse_launch("osxaudiosrc ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011", &error);
>> 
>> then as you suggested, but I’m not confident have understood your suggestion I converted osxaudiosrc with capsfilter:
>> gst_parse_launch("osxaudiosrc !  audioconvert ! audio/x-raw,format=S16LE,channels=1,layout=interleaved,rate=8000 ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011", &error);
>> 
>> But it seems this caps filter doesn’t fix my issue…
> 
> Yeah because you let the conversion be done by audioconvert, instead of
> having osxaudiosrc negotiate to a different format. But from looking at
> the code it only supports S32LE anyway (currently).
> 
> So what you could try is to check if osxaudiosrc negotiates to different
> caps in the working and non-working case. For that you could for example
> connect to the notify::caps signal on the srcpad of osxaudiosrc, and
> from the callback there call gst_pad_get_current_caps() and then print
> that.
> 
> Alternatively it's also printed in the debug logs somewhere :)
> 
> If the caps are the same, the problem will be elsewhere (also adding a
> queue somewhere in the pipeline might be a good idea, like in front of
> the encoder).
> 
> -- 
> Sebastian Dröge <sebastian at centricular.com>
> Centricular Ltd - http://www.centricular.com
> Expertise, Straight from the Source
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131110/f496ef6b/attachment.html>


More information about the gstreamer-devel mailing list