Hi all,
I’m developing a stream audio for iOS platforms and I’m facing a new issue with my rtp stream. I got an error while I’m streaming audio using “osxaudiosrc”, the audio received is distorted and I noticed this error: 2013-11-09 08:17:33.668 ipDoor[314:8403] 08:17:33.668 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) 0:00:39.088255000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! 2013-11-09 08:17:33.670 ipDoor[314:8903] 08:17:33.670 ERROR: [0x7f70000] >aurioc> 1455: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006 2013-11-09 08:17:33.672 ipDoor[314:8403] 08:17:33.672 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) 0:00:39.092167000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Note: if I use audiotestsrc the audio stream received is good.. Can someone give me some hints to debug this issue? Thanks Elio _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Sa, 2013-11-09 at 09:45 +0100, Elio Francesconi wrote:
> Hi all, > I’m developing a stream audio for iOS platforms and I’m facing a new issue with my rtp stream. > I got an error while I’m streaming audio using “osxaudiosrc”, the audio received is distorted and I noticed this error: > > 2013-11-09 08:17:33.668 ipDoor[314:8403] 08:17:33.668 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) > 0:00:39.088255000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! > 2013-11-09 08:17:33.670 ipDoor[314:8903] 08:17:33.670 ERROR: [0x7f70000] >aurioc> 1455: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006 > 2013-11-09 08:17:33.672 ipDoor[314:8403] 08:17:33.672 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) > 0:00:39.092167000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! > >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > > > Note: if I use audiotestsrc the audio stream received is good.. > > Can someone give me some hints to debug this issue? the exact device you're using. Ideally also including a patch to one of the tutorial applications to reproduce the problem :) I assume we're doing something wrong with the initialization of the iOS audio API there. As a first step I would look at what values we pass there and if others maybe work better (different buffer sizes, sample rates, number of channels, etc). And then check what other applications are doing. -- Sebastian Dröge <[hidden email]> Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (985 bytes) Download Attachment |
hi Sebastian,
thanks again for your time you spent with my issues. I did some tests with a basic application, so to be reproducible, and it seems the issue on osxaudiosrc is a different one, I’ll try to create a base pipeline to explain better how the issue occurs. In the mean time I created a simple pipeline so to test the osxaudiosrc module and I noticed that with this simple pipeline the audio captured with my iphone5 (iOS 7.0.3) is distorted. To reproduce the issue I modified the tutorial2 using the pipeline below and I started on my linux client your script: ./client-PCMA.sh osxaudiosrc ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011 Did I miss to set some osxaudiosrc properties or do you think it is a bug? Thanks Elio On 09 Nov 2013, at 12:08, Sebastian Dröge <[hidden email]> wrote: On Sa, 2013-11-09 at 09:45 +0100, Elio Francesconi wrote:Hi all, _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Sa, 2013-11-09 at 18:17 +0100, Elio Francesconi wrote:
> hi Sebastian, > thanks again for your time you spent with my issues. > I did some tests with a basic application, so to be reproducible, and it seems the issue on osxaudiosrc is a different one, I’ll try to create a base pipeline to explain better how the issue occurs. > > In the mean time I created a simple pipeline so to test the osxaudiosrc module and I noticed that with this simple pipeline the audio captured with my iphone5 (iOS 7.0.3) is distorted. > > To reproduce the issue I modified the tutorial2 using the pipeline below and I started on my linux client your script: ./client-PCMA.sh > osxaudiosrc ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011 > > Did I miss to set some osxaudiosrc properties or do you think it is a bug? and ideally also none of the possible settings :) Do you also have distorted audio if you just output it on the same device? You could test with a capsfilter after osxaudiosrc with different formats and sample rates, and also with different latency-time and buffer-time settings on osxaudiosrc to see if any of these make the audio not distorted. -- Sebastian Dröge <[hidden email]> Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (985 bytes) Download Attachment |
In reply to this post by Sebastian Dröge-3
I’m doing some tests and I noticed:
0:00:12.059877000 [332m 1123[00m 0x33825b8 [37mDEBUG [00m [00m osxaudio gstosxaudioringbuffer.c:228:gst_osx_audio_ring_buffer_acquire:<osxaudioringbuffer0>[00m Format: FormatID: mcpl rate: 8000.000000 flags: 0xc BytesPerPacket: 8 FramesPerPacket: 1 BytesPerFrame: 8 ChannelsPerFrame: 2 BitsPerChannel: 32 0:00:12.060012000 [332m 1123[00m 0x33825b8 [37mDEBUG [00m [00m osxaudio gstosxcoreaudio.c: 150:gst_core_audio_initialize:<GstCoreAudio@0x3490ce0>[00m Initializing: passthrough:0 caps:audio/x-raw, format=(string)S32LE, layout=(string)interleaved, rate=(int)8000, channels=(int)2 But the client expects: format=(string)S16LE channels=(int)1 Could it be the issue? Thanks Elio On 09 Nov 2013, at 12:08, Sebastian Dröge <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Sa, 2013-11-09 at 18:34 +0100, Elio Francesconi wrote:
> I’m doing some tests and I noticed: > 0:00:12.059877000 [332m 1123[00m 0x33825b8 [37mDEBUG [00m [00m osxaudio gstosxaudioringbuffer.c:228:gst_osx_audio_ring_buffer_acquire:<osxaudioringbuffer0>[00m Format: FormatID: mcpl rate: 8000.000000 flags: 0xc BytesPerPacket: 8 FramesPerPacket: 1 BytesPerFrame: 8 ChannelsPerFrame: 2 BitsPerChannel: 32 > 0:00:12.060012000 [332m 1123[00m 0x33825b8 [37mDEBUG [00m [00m osxaudio gstosxcoreaudio.c: > 150:gst_core_audio_initialize:<GstCoreAudio@0x3490ce0>[00m Initializing: passthrough:0 caps:audio/x-raw, format=(string)S32LE, layout=(string)interleaved, rate=(int)8000, channels=(int)2 > > But the client expects: > format=(string)S16LE channels=(int)1 > > Could it be the issue? Well, you have an audioconvert element that will convert the raw audio to whatever is necessary. But what could be the problem is that the iOS audio APIs or your device don't support S32LE or two channels (or that samplerate). You could try different things with a capsfilter after osxaudiosrc. -- Sebastian Dröge <[hidden email]> Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (985 bytes) Download Attachment |
In reply to this post by Sebastian Dröge-3
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… Thanks Elio On 09 Nov 2013, at 18:31, Sebastian Dröge <[hidden email]> wrote: On Sa, 2013-11-09 at 18:17 +0100, Elio Francesconi wrote:hi Sebastian, _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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… 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 <[hidden email]> Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (985 bytes) Download Attachment |
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 <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi Sebastian,
IMHO I think the issue is due to osxsrc->deviceChannels returns -1 (I don’t know why) so a default one caps is returned. In that case the conversion S32LE -> S16LE is not needed so that’s why the audio is distorted. What do you think? static GstCaps * gst_osx_audio_src_get_caps (GstBaseSrc * src, GstCaps * filter) { GstElementClass *gstelement_class; GstOsxAudioSrc *osxsrc; GstPadTemplate *pad_template; GstCaps *caps; gint min, max; gstelement_class = GST_ELEMENT_GET_CLASS (src); osxsrc = GST_OSX_AUDIO_SRC (src); if (osxsrc->deviceChannels == -1) { /* -1 means we don't know the number of channels yet. for now, return * template caps. */ return NULL; } max = osxsrc->deviceChannels; if (max < 1) max = 1; /* 0 channels means 1 channel? */ min = MIN (1, max); pad_template = gst_element_class_get_pad_template (gstelement_class, "src"); g_return_val_if_fail (pad_template != NULL, NULL); caps = gst_caps_copy (gst_pad_template_get_caps (pad_template)); if (min == max) { gst_caps_set_simple (caps, "channels", G_TYPE_INT, max, NULL); } else { gst_caps_set_simple (caps, "channels", GST_TYPE_INT_RANGE, min, max, NULL); } return caps; } On 10 Nov 2013, at 08:18, Elio Francesconi <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by elio.francesconi
On So, 2013-11-10 at 08:18 +0100, Elio Francesconi wrote:
> 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 ] For the working pipeline I meant the one with osxaudiosrc and autoaudiosink :) audiotestsrc doesn't really matter here. But you're right, it's always returning the template caps because of deviceChannels being -1. And for iOS this is never ever set to another value. If you can file a bug I'll check all this in more detail on Monday. Btw, did you try with the queue? -- Sebastian Dröge <[hidden email]> Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (985 bytes) Download Attachment |
Thanks a lot Sebastian,
this is the file bug: I didn’t try the queue because I don’t know exactly how use it.. Ciao Elio On 10 Nov 2013, at 09:12, Sebastian Dröge <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On So, 2013-11-10 at 10:28 +0100, Elio Francesconi wrote:
> Thanks a lot Sebastian, > this is the file bug: > https://bugzilla.gnome.org/show_bug.cgi?id=711764 > I didn’t try the queue because I don’t know exactly how use it.. For example use a pipeline like this for testing: "osxaudiosrc ! queue ! audioconvert ! audioresample ! queue ! alawenc ! ... " -- Sebastian Dröge <[hidden email]> Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (985 bytes) Download Attachment |
Thanks Sebastian,
the workaround below, that you proposed, solves my issue. Thanks! osxaudiosrc ! capsfilter caps=audio/x-raw,rate=44100 ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011 About the error below I’ve found a way to reproduce it, below I’ll describe you the procedure: 2013-11-09 08:17:33.668 ipDoor[314:8403] 08:17:33.668 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) 0:00:39.088255000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! 2013-11-09 08:17:33.670 ipDoor[314:8903] 08:17:33.670 ERROR: [0x7f70000] >aurioc> 1455: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006 2013-11-09 08:17:33.672 ipDoor[314:8403] 08:17:33.672 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) 0:00:39.092167000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! I modified the Tutorial2 with this pseudocode and I’m able to reproduce the issue: #define LAUNCH_SERVER_AUDIO "osxaudiosrc ! capsfilter caps=audio/x-raw,rate=44100 ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=127.0.0.1 port=5011" #define LAUNCH_CLIENT_AUDIO "udpsrc caps=application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMA port=5011 ! rtppcmadepay ! alawdec ! audioconvert ! audioresample ! autoaudiosink" sourcePipeline = gst_parse_launch(LAUNCH_SERVER_AUDIO, &error); sinkPipeline = gst_parse_launch(LAUNCH_CLIENT_AUDIO, &error); if(gst_element_set_state(sourcePipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { GST_ERROR("GST_STATE_CHANGE_FAILURE ..."); } if(gst_element_set_state(sinkPipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { GST_ERROR("GST_STATE_CHANGE_FAILURE ..."); } I noticed that replacing autoaudiosink with osxaudiosink I solved the issue and everything works well. Ciao Elio On 10 Nov 2013, at 10:37, Sebastian Dröge <[hidden email]> wrote: On So, 2013-11-10 at 10:28 +0100, Elio Francesconi wrote:Thanks a lot Sebastian, _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Me again,
it seems the issue opening sound device cannot be closed and I think it requires investigation, I noticed this post in a group about the same error: Hard to say if they solved and how. Elio On 11 Nov 2013, at 19:41, Elio Francesconi <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by elio.francesconi
On Mo, 2013-11-11 at 19:41 +0100, Elio Francesconi wrote:
> Thanks Sebastian, > the workaround below, that you proposed, solves my issue. Thanks! > osxaudiosrc ! capsfilter caps=audio/x-raw,rate=44100 ! audioconvert ! > audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011 > About the error below I’ve found a way to reproduce it, below I’ll describe you the procedure: > 2013-11-09 08:17:33.668 ipDoor[314:8403] 08:17:33.668 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) > 0:00:39.088255000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! > 2013-11-09 08:17:33.670 ipDoor[314:8903] 08:17:33.670 ERROR: [0x7f70000] >aurioc> 1455: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006 > 2013-11-09 08:17:33.672 ipDoor[314:8403] 08:17:33.672 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) > 0:00:39.092167000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! > > > I modified the Tutorial2 with this pseudocode and I’m able to reproduce the issue: > #define LAUNCH_SERVER_AUDIO "osxaudiosrc ! capsfilter caps=audio/x-raw,rate=44100 ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=127.0.0.1 port=5011" > > #define LAUNCH_CLIENT_AUDIO "udpsrc caps=application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMA port=5011 ! rtppcmadepay ! alawdec ! audioconvert ! audioresample ! autoaudiosink" > > sourcePipeline = gst_parse_launch(LAUNCH_SERVER_AUDIO, &error); > sinkPipeline = gst_parse_launch(LAUNCH_CLIENT_AUDIO, &error); > > if(gst_element_set_state(sourcePipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { > GST_ERROR("GST_STATE_CHANGE_FAILURE ..."); > } > if(gst_element_set_state(sinkPipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { > GST_ERROR("GST_STATE_CHANGE_FAILURE ..."); > } > > I noticed that replacing autoaudiosink with osxaudiosink I solved the issue and everything works well. vs. osxaudiosink shouldn't make a difference. Are different caps negotiated on the sink depending on if you use it directly or not? -- Sebastian Dröge <[hidden email]> Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (985 bytes) Download Attachment |
I'll open the issue but are you able to reproduce also? Caps are the same as described in the previous email. On Mo, 2013-11-11 at 19:41 +0100, Elio Francesconi wrote:
> Thanks Sebastian, > the workaround below, that you proposed, solves my issue. Thanks! > osxaudiosrc ! capsfilter caps=audio/x-raw,rate=44100 ! audioconvert ! > audioresample ! alawenc ! rtppcmapay ! udpsink host=192.168.1.6 port=5011 > About the error below I’ve found a way to reproduce it, below I’ll describe you the procedure: > 2013-11-09 08:17:33.668 ipDoor[314:8403] 08:17:33.668 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) > 0:00:39.088255000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! > 2013-11-09 08:17:33.670 ipDoor[314:8903] 08:17:33.670 ERROR: [0x7f70000] >aurioc> 1455: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006 > 2013-11-09 08:17:33.672 ipDoor[314:8403] 08:17:33.672 ERROR: [0x7e44000] 1207: AUIOClient_StartIO failed (560034163) > 0:00:39.092167000 [333m 314[00m 0x2a737e8 [31;01mERROR [00m [00;04m default gstosxcoreaudiocommon.c:128:gst_core_audio_io_proc_start:<osxaudioringbuffer0>[00m AudioOutputUnitStart failed: sqa! > > > I modified the Tutorial2 with this pseudocode and I’m able to reproduce the issue: > #define LAUNCH_SERVER_AUDIO "osxaudiosrc ! capsfilter caps=audio/x-raw,rate=44100 ! audioconvert ! audioresample ! alawenc ! rtppcmapay ! udpsink host=127.0.0.1 port=5011" > > #define LAUNCH_CLIENT_AUDIO "udpsrc caps=application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMA port=5011 ! rtppcmadepay ! alawdec ! audioconvert ! audioresample ! autoaudiosink" > > sourcePipeline = gst_parse_launch(LAUNCH_SERVER_AUDIO, &error); > sinkPipeline = gst_parse_launch(LAUNCH_CLIENT_AUDIO, &error); > > if(gst_element_set_state(sourcePipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { > GST_ERROR("GST_STATE_CHANGE_FAILURE ..."); > } > if(gst_element_set_state(sinkPipeline, GST_STATE_PLAYING) == GST_STATE_CHANGE_FAILURE) { > GST_ERROR("GST_STATE_CHANGE_FAILURE ..."); > } > > I noticed that replacing autoaudiosink with osxaudiosink I solved the issue and everything works well. Can you create another bug for that problem? Especially autoaudiosink vs. osxaudiosink shouldn't make a difference. Are different caps negotiated on the sink depending on if you use it directly or not? -- Sebastian Dröge <[hidden email]> Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I’ve opened a file bug.
It seems AUAudio library fails when I initialise osxaudiosrc and osxaudiosink… have you experience on that? It seems a common issue, if you useAUAudio on iOS7. Do you think I could use a different source/sink to solve my issue? Thank for your help Elio On 12 Nov 2013, at 14:37, elio francesconi <[hidden email]> wrote:
_______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Mi, 2013-11-13 at 15:22 +0100, Elio Francesconi wrote:
> I’ve opened a file bug. > https://bugzilla.gnome.org/show_bug.cgi?id=712182 > > It seems AUAudio library fails when I initialise osxaudiosrc and osxaudiosink… have you experience on that? It seems a common issue, if you useAUAudio on iOS7. There's some code in the osx plugin that tries to mitigate some thread unsafety in the APIs we use there. Maybe that's related or not done in all places. Maybe it happens when both elements are initialized at the same time. I wasn't able to reproduce it here, don't have access to my iOS device for the next days. > Do you think I could use a different source/sink to solve my issue? There's no other audio source and sink available for iOS, we'll have to fix this one :) -- Sebastian Dröge <[hidden email]> Centricular Ltd - http://www.centricular.com Expertise, Straight from the Source _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (985 bytes) Download Attachment |
On 13 Nov 2013, at 22:07, Sebastian Dröge <[hidden email]> wrote: > On Mi, 2013-11-13 at 15:22 +0100, Elio Francesconi wrote: >> I’ve opened a file bug. >> https://bugzilla.gnome.org/show_bug.cgi?id=712182 >> >> It seems AUAudio library fails when I initialise osxaudiosrc and osxaudiosink… have you experience on that? It seems a common issue, if you useAUAudio on iOS7. > > There's some code in the osx plugin that tries to mitigate some thread > unsafety in the APIs we use there. Maybe that's related or not done in > all places. Maybe it happens when both elements are initialized at the > same time. I digged into this issue and I’ve found the problem. It seems if you open osxaudiosrc before opening osxaudiosink, when osxaudiosinks starts the AUAudio fails. To reproduce it systematically I created a simple app with 2 button, to open manually the sink pipeline and the source pipeline and I noticed it everytime I start osxaudiosink before osxaudiosinks. In case I can add this test app in file bug as attachment. What do you think? Have you enough indoor do you prefer having a test app? Thanks Elio > I wasn't able to reproduce it here, don't have access to my iOS device > for the next days. >> Do you think I could use a different source/sink to solve my issue? > > There's no other audio source and sink available for iOS, we'll have to > fix this one :) > > -- > Sebastian Dröge <[hidden email]> > Centricular Ltd - http://www.centricular.com > Expertise, Straight from the Source > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |