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

classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|

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

elio.francesconi
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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

Sebastian Dröge-3
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?
Can you file a bug about this too, including the complete debug log and
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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi
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,
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?

Can you file a bug about this too, including the complete debug log and
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


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

Sebastian Dröge-3
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?
It is a bug, the default settings should never result in distorted audio
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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi
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:

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?

Can you file a bug about this too, including the complete debug log and
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


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

Sebastian Dröge-3
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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi
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,
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?

It is a bug, the default settings should never result in distorted audio
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


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

Sebastian Dröge-3
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 <[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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi
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:

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 <[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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi
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:

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:

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 <[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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

Sebastian Dröge-3
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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi
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:

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


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

Sebastian Dröge-3
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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi
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,
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


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi
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:

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,
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



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

Sebastian Dröge-3
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.
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

signature.asc (985 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi

I'll open the issue but are you able to reproduce also? Caps are the same as described in the previous email.
It seems a timing matter.
Ciao elio

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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi
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:

I'll open the issue but are you able to reproduce also? Caps are the same as described in the previous email.
It seems a timing matter.
Ciao elio

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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

Sebastian Dröge-3
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
Reply | Threaded
Open this post in threaded view
|

Re: iOS: AURemoteIO@0x31ab420: IOThread exiting with error 0x10004006

elio.francesconi

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
12