'Can't record audio fast enough' issue - On iOS device

Ian Davidson id012c3076 at blueyonder.co.uk
Sun Jan 25 08:52:18 PST 2015


Well, it could be that your iPhone does not have the guts to do 
everything that you want.  However, I don't see any 'queue' elements in 
your pipeline. A queue causes gstreamer to create another thread and it 
is possible that a few extra threads would allow both streams to proceed.

Ian

On 24/01/2015 20:55, Antonis Tsakiridis wrote:
> Hello,
>
> I'm using an iPhone 5 to send and receive audio using RTP over UDP. 
> The problem is that I can't hear anything in any direction. I get:
>
> 0:00:27.758603000 [333m 1490[00m 0x16a9b460 [33;01mWARN   [00m [00m   
>      audiobasesrc gstaudiobasesrc.c:858:GstFlowReturn 
> gst_audio_base_src_create(GstBaseSrc *, guint64, guint, GstBuffer 
> **):<autoaudiosrc0-actual-src-osxaudi>[00m create DISCONT of 1600 
> samples at sample 3680
> 0:00:27.758815000 [333m 1490[00m 0x16a9b460 [33;01mWARN   [00m [00m   
>      audiobasesrc gstaudiobasesrc.c:863:GstFlowReturn 
> gst_audio_base_src_create(GstBaseSrc *, guint64, guint, GstBuffer 
> **):<autoaudiosrc0-actual-src-osxaudi>[00m warning: Can't record audio 
> fast enough
> 0:00:27.758919000 [333m 1490[00m 0x16a9b460 [33;01mWARN   [00m [00m   
>      audiobasesrc gstaudiobasesrc.c:863:GstFlowReturn 
> gst_audio_base_src_create(GstBaseSrc *, guint64, guint, GstBuffer 
> **):<autoaudiosrc0-actual-src-osxaudi>[00m warning: Dropped 1600 
> samples. This is most likely because downstream can't keep up and is 
> consuming samples too slowly.
>
> IMPORTANT NOTE: If I use only the receiving part of the pipeline it 
> works fine (please see P.S.1). Same happens if I use only the sending 
> part of the pipeline (please see P.S.2).
>
> Code:
>
>    ...
>    gst_debug_set_threshold_from_string("2,*audio*:3", TRUE);
>    // Bidirectional
>    self->sm_pipeline = gst_parse_launch("udpsrc name=udp-src 
> caps=\"application/x-rtp,media=audio,clock-rate=8000,encoding-name=PCMU\" 
> ! rtppcmudepay ! mulawdec ! audioconvert ! audioresample ! 
> autoaudiosink autoaudiosrc ! audioconvert ! audioresample ! mulawenc ! 
> rtppcmupay ! udpsink name=udp-sink async=false", &error);
>
>    if (error) {
>        ...
>    }
>
>    gst_element_set_state (self->sm_pipeline, GST_STATE_PLAYING);
>    ...
>
> Any ideas?
>
> Thank you,
> Antonis
>
> P.S.1. Pipeline the works (only sending):
>
>     self->sm_pipeline = gst_parse_launch("autoaudiosrc ! audioconvert 
> ! audioresample ! mulawenc ! rtppcmupay ! udpsink name=udp-sink 
> async=false", &error);
>
> P.S.2. Pipeline that works (only receiving):
>
>     self->sm_pipeline = gst_parse_launch("udpsrc name=udp-src 
> caps=\"application/x-rtp,clock-rate=8000,encoding-name=PCMU\" ! 
> rtppcmudepay ! mulawdec ! audioconvert ! audioresample ! 
> autoaudiosink", &error);
>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

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


More information about the gstreamer-devel mailing list