'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