Problem generating sound while implementing GstAudioSrc

Ivan Kelly ivan at ivankelly.net
Thu Jan 17 12:33:45 PST 2013


Is anyone able to provide any insights on this? Or even a pointer as
to how to start debugging it? At the moment im completely stumped.

-Ivan

On Sun, Jan 13, 2013 at 05:03:58PM +0000, Ivan Kelly wrote:
> Hi,
> 
> I'm playing around with GstAudioSrc and I'm having trouble getting my
> plugin to generate sound. At the moment I really just want to generate
> white noise (I'm aware of audiotestsrc, I'll be doing something more
> useful once I get whitenoise to work). My read() function takes the
> data pointer and fills it with random integers. AFAIK, the pads are
> set to use S32LE. Its a amd64 machine, so ints are LE. 
> 
> <snip>
> static guint
> testaudio_gst_read(GstAudioSrc *src, gpointer data, guint length,
> 			       	      GstClockTime *timestamp) {
>   int i = 0;
>   int samples = (length/sizeof(int));
> 
>   int* idata = (int*)data;
>   for (i = 0; i < samples; i++) {
>     idata[i] = (int)g_random_int_range(-1.0, 1.0) * 2147483647.0;
>   }
> 
>   return samples*sizeof(int);
> }
> </snip>
> 
> My delay function always returns 0. 
> 
> When I try to test this, with:
> gst-launch-1.0 -v --gst-debug-level=3 --gst-debug=testaudio:5,audiobasesrc:5,audiosrc:5 --gst-plugin-path=src -v -m testaudio ! audioconvert ! pulsesink
> 
> I get about 0.5 seconds of noise, and a message list "create DISCONT
> of 93933 samples at sample 94374", and a warning that the audiobasesrc
> cannot record fast enough. There are also other bits of noise every
> few seconds after. I've attached the fulllog.
> 
> I was under the impression that as long as you fill the buffers,
> GstAudioSrc and GstAudioBaseSrc would take care of controlling the
> rate and timing etc. Is this not the case? Is there any other obvious
> place that I'm going wrong?
> 
> -Ivan
> 
> 
> Using debian unstable, gstreamer 1.0.4. My source is at
> https://github.com/ivankelly/gsttestaudio
> 

> 0:00:00.010833315 32740      0x1b580c0 INFO               testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:264:testaudio_plugin_init:<plugin175> plugin_init
> 0:00:00.010886606 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:114:_do_init: binding text domain gst-plugins-base-1.0 to locale dir /usr/share/locale
> 0:00:00.010965145 32740      0x1b580c0 INFO               testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:131:testaudio_gst_src_class_init:0x1b5d4f0 class init
> 0:00:00.011069978 32740      0x1b580c0 INFO               testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:167:testaudio_gst_src_init:<TestAudioGstSrc at 0x1b62020> src init
> Setting pipeline to PAUSED ...
> 0:00:00.016407997 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:1101:gst_audio_base_src_change_state:<testaudiogstsrc0> NULL->READY
> 0:00:00.016444163 32740      0x1b580c0 DEBUG               audiosrc gstaudiosrc.c:538:gst_audio_src_create_ringbuffer: creating ringbuffer
> 0:00:00.016485190 32740      0x1b580c0 DEBUG               audiosrc gstaudiosrc.c:540:gst_audio_src_create_ringbuffer: created ringbuffer @0x1b861f0
> 0:00:00.016602630 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:1112:gst_audio_base_src_change_state:<testaudiogstsrc0> READY->PAUSED
> Pipeline is live and does not need PREROLL ...
> 0:00:00.016809424 32740      0x1b74f70 FIXME                default gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<testaudiogstsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
> Got message #8 from element "pulsesink0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
> Got message #9 from element "audioconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
> Got message #10 from element "testaudiogstsrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_VOID_PENDING;
> Got message #11 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_NULL, new-state=(GstState)GST_STATE_READY, pending-state=(GstState)GST_STATE_PAUSED;
> Got message #14 from element "audioconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
> Got message #17 from pad "testaudiogstsrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_CREATE, owner=(GstElement)"\(TestAudioGstSrc\)\ testaudiogstsrc0", object=(GstTask)"\(GstTask\)\ testaudiogstsrc0:src";
> Got message #18 from element "testaudiogstsrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
> Got message #19 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
> Got message #20 from pad "testaudiogstsrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(TestAudioGstSrc\)\ testaudiogstsrc0", object=(GstTask)"\(GstTask\)\ testaudiogstsrc0:src";
> Got message #21 from element "pipeline0" (stream-start): no message details
> Setting pipeline to PLAYING ...
> 0:00:00.017291866 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:553:gst_audio_base_src_setcaps: release old ringbuffer
> 0:00:00.017317971 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 0, delay 0, real 0, time 0:00:00.000000000
> 0:00:00.017324281 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:559:gst_audio_base_src_setcaps: acquire new ringbuffer
> 0:00:00.017361116 32740      0x1b74f70 INFO               testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:179:testaudio_gst_prepare:<testaudiogstsrc0> prepare
> 0:00:00.017393076 32740      0x1b580c0 WARN                     bin gstbin.c:2488:gst_bin_do_latency_func:<pipeline0> failed to query latency
> 0:00:00.017441347 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:1127:gst_audio_base_src_change_state:<testaudiogstsrc0> PAUSED->PLAYING
> 0:00:00.017483067 32740 0x7f38bc002990 DEBUG               audiosrc gstaudiosrc.c:214:audioringbuffer_thread_func:<testaudiogstsrc0> enter thread
> GstMessageNewClock, clock=(GstClock)"\(GstAudioClock\)\ GstAudioSrcClock";
> New clock: GstAudioSrcClock
> Got message #25 from element "audioconvert0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
> 0:00:00.017575637 32740 0x7f38bc002990 DEBUG               audiosrc gstaudiosrc.c:268:audioringbuffer_thread_func:<testaudiogstsrc0> wait for action
> Got message #26 from element "testaudiogstsrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
> Got message #27 from object "audiosrcringbuffer0" (stream-status): /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0: actual-buffer-time = 200000
> GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(TestAudioGstSrc\)\ testaudiogstsrc0", object=(gpointer)NULL;
> /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0: actual-latency-time = 10000
> /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0.GstPad:src: caps = audio/x-raw, layout=(string)interleaved, rate=(int)44100, format=(string)S32LE, channels=(int)2
> /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw, layout=(string)interleaved, rate=(int)44100, format=(string)S32LE, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
> /GstPipeline:pipeline0/GstPulseSink:pulsesink0.GstPad:sink: caps = audio/x-raw, layout=(string)interleaved, rate=(int)44100, format=(string)S32LE, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
> /GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw, layout=(string)interleaved, rate=(int)44100, format=(string)S32LE, channels=(int)2
> 0:00:00.025317810 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:737:gst_audio_base_src_get_offset:<testaudiogstsrc0> first sample, align to current 0
> 0:00:00.025328029 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 0, we are at 0, sample 0
> 0:00:00.025334351 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 0 length 3528
> 0:00:00.025358314 32740      0x1b74f70 DEBUG               audiosrc gstaudiosrc.c:448:gst_audio_src_ring_buffer_start: start, sending signal
> 0:00:00.027702756 32740 0x7f38bc002990 DEBUG               audiosrc gstaudiosrc.c:270:audioringbuffer_thread_func:<testaudiogstsrc0> got signal
> 0:00:00.027720322 32740 0x7f38bc002990 DEBUG               audiosrc gstaudiosrc.c:273:audioringbuffer_thread_func:<testaudiogstsrc0> continue running
> 0:00:00.027800944 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.027818487 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 441, delay 0, real 441, time 0:00:00.010000000
> Got message #31 from element "pulsesink0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_READY, new-state=(GstState)GST_STATE_PAUSED, pending-state=(GstState)GST_STATE_VOID_PENDING;
> Got message #33 from element "pipeline0" (async-done): GstMessageAsyncDone, running-time=(guint64)18446744073709551615;
> 0:00:00.039780504 32740      0x1b75190 DEBUG           audiobasesrc gstaudiobasesrc.c:634:gst_audio_base_src_query:<testaudiogstsrc0> report latency min 0:00:00.010000000 max 0:00:00.200000000
> 0:00:00.039827725 32740      0x1b75190 DEBUG           audiobasesrc gstaudiobasesrc.c:690:gst_audio_base_src_event:<testaudiogstsrc0> forward event 0x7f38bc003b00
> 0:00:00.039914665 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 94374, delay 0, real 94374, time 0:00:02.140000000
> GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
> 0:00:00.039945911 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 94374, delay 0, real 94374, time 0:00:02.140000000
> Got message #36 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)GST_STATE_PAUSED, new-state=(GstState)GST_STATE_PLAYING, pending-state=(GstState)GST_STATE_VOID_PENDING;
> 0:00:00.039969102 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 214 and sample 441
> 0:00:00.039975763 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:731:gst_audio_base_src_get_offset:<testaudiogstsrc0> dropped, align to segment 214
> 0:00:00.039981226 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 1, we are at 214, sample 94374
> 0:00:00.039986971 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 94374 length 3528
> Got message #37 from element "pulsesink0" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)GST_STREAM_STATUS_TYPE_ENTER, owner=(GstElement)"\(GstPulseSink\)\ pulsesink0", object=(gpointer)NULL;
> 0:00:00.040091549 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.040115932 32740      0x1b74f70 WARN            audiobasesrc gstaudiobasesrc.c:844:gst_audio_base_src_create:<testaudiogstsrc0> create DISCONT of 93933 samples at sample 94374
> 0:00:00.040155813 32740      0x1b74f70 WARN            audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0> warning: Can't record audio fast enough
> 0:00:00.040163626 32740      0x1b74f70 WARN            audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0> warning: Dropped 93933 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.
> 0:00:00.040222802 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 95697, delay 0, real 95697, time 0:00:02.170000000
> Got message #38 from element "testaudiogstsrc0" (warning): GstMessageWarning, gerror=(GError)NULL, debug=(string)"gstaudiobasesrc.c\(849\):\ gst_audio_base_src_create\ \(\):\ /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0:\012Dropped\ 93933\ samples.\ This\ is\ most\ likely\ because\ downstream\ can\'t\ keep\ up\ and\ is\ consuming\ samples\ too\ slowly.";
> WARNING: from element /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0: Can't record audio fast enough
> Additional debug info:
> gstaudiobasesrc.c(849): gst_audio_base_src_create (): /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0:
> Dropped 93933 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.
> /GstPipeline:pipeline0/GstPulseSink:pulsesink0: volume = 0.099998850267223105
> /GstPipeline:pipeline0/GstPulseSink:pulsesink0: mute = false
> 0:00:00.040648566 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 224 and sample 94815
> 0:00:00.040657816 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 215, we are at 224, sample 94815
> 0:00:00.040663708 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 94815 length 3528
> 0:00:00.040671955 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.040688164 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 98784, delay 0, real 98784, time 0:00:02.240000000
> 0:00:00.040723231 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 225 and sample 95256
> 0:00:00.040731328 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 216, we are at 225, sample 95256
> 0:00:00.040737111 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 95256 length 3528
> 0:00:00.040744736 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.040758747 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 99666, delay 0, real 99666, time 0:00:02.260000000
> 0:00:00.040776243 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 226 and sample 95697
> 0:00:00.040783051 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 217, we are at 226, sample 95697
> 0:00:00.040788674 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 95697 length 3528
> 0:00:00.040795721 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.040808727 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 100107, delay 0, real 100107, time 0:00:02.270000000
> 0:00:00.040826822 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 227 and sample 96138
> 0:00:00.040833628 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 218, we are at 227, sample 96138
> 0:00:00.040839174 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 96138 length 3528
> 0:00:00.040846313 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.040859131 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 100548, delay 0, real 100548, time 0:00:02.280000000
> 0:00:00.041109652 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 229 and sample 96579
> 0:00:00.041119385 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 219, we are at 229, sample 96579
> 0:00:00.041125203 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 96579 length 3528
> 0:00:00.041132951 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.041148254 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 101430, delay 0, real 101430, time 0:00:02.300000000
> /GstPipeline:pipeline0/GstPulseSink:pulsesink0: volume = 0.099998850267223105
> /GstPipeline:pipeline0/GstPulseSink:pulsesink0: mute = false
> 0:00:00.041437008 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 235 and sample 97020
> 0:00:00.041448721 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 220, we are at 235, sample 97020
> 0:00:00.041456911 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 97020 length 3528
> 0:00:00.041467400 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.041485757 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 104076, delay 0, real 104076, time 0:00:02.360000000
> 0:00:00.041496231 32740      0x1b74f70 WARN           audiobasesink gstaudiobasesink.c:1295:gst_audio_base_sink_skew_slaving:<pulsesink0> correct clock skew -26213194 < -20000000
> 0:00:00.041512962 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 236 and sample 97461
> 0:00:00.041519917 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 221, we are at 236, sample 97461
> 0:00:00.041525461 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 97461 length 3528
> 0:00:00.041535520 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.041549198 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 104517, delay 0, real 104517, time 0:00:02.370000000
> 0:00:00.041566838 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 237 and sample 97902
> 0:00:00.041573635 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 222, we are at 237, sample 97902
> 0:00:00.041579178 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 97902 length 3528
> 0:00:00.041586060 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.041599082 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 104958, delay 0, real 104958, time 0:00:02.380000000
> 0:00:00.041616515 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 238 and sample 98343
> 0:00:00.041623235 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 223, we are at 238, sample 98343
> 0:00:00.041628774 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 98343 length 3528
> 0:00:00.041635522 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.041648235 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 105399, delay 0, real 105399, time 0:00:02.390000000
> 0:00:00.041665495 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 239 and sample 98784
> 0:00:00.041672314 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 224, we are at 239, sample 98784
> 0:00:00.041677847 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 98784 length 3528
> 0:00:00.041684681 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.041697480 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 105399, delay 0, real 105399, time 0:00:02.390000000
> 0:00:00.041721455 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 240 and sample 99225
> 0:00:00.041728693 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 225, we are at 240, sample 99225
> 0:00:00.041736394 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 99225 length 3528
> 0:00:00.041743431 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.041756669 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 106281, delay 0, real 106281, time 0:00:02.410000000
> 0:00:00.153305131 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 2288 and sample 99666
> 0:00:00.153331763 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:731:gst_audio_base_src_get_offset:<testaudiogstsrc0> dropped, align to segment 2288
> 0:00:00.153338320 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 226, we are at 2288, sample 1009008
> 0:00:00.153344767 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 1009008 length 3528
> 0:00:00.153363710 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.153369887 32740      0x1b74f70 WARN            audiobasesrc gstaudiobasesrc.c:844:gst_audio_base_src_create:<testaudiogstsrc0> create DISCONT of 909342 samples at sample 1009008
> 0:00:00.153385150 32740      0x1b74f70 WARN            audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0> warning: Can't record audio fast enough
> 0:00:00.153390875 32740      0x1b74f70 WARN            audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0> warning: Dropped 909342 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.
> Got message #39 from element "testaudiogstsrc0" (warning): 0:00:00.153450722 32740      0x1b74f70 WARN           audiobasesink gstaudiobasesink.c:1295:gst_audio_base_sink_skew_slaving:<pulsesink0> correct clock skew -662302613 < -20000000
> GstMessageWarning, gerror=(GError)NULL, debug=(string)"gstaudiobasesrc.c\(849\):\ gst_audio_base_src_create\ \(\):\ /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0:\012Dropped\ 909342\ samples.\ This\ is\ most\ likely\ because\ downstream\ can\'t\ keep\ up\ and\ is\ consuming\ samples\ too\ slowly.";
> WARNING: from element /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0: Can't record audio fast enough
> Additional debug info:
> gstaudiobasesrc.c(849): gst_audio_base_src_create (): /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0:
> Dropped 909342 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.
> 0:00:00.166762814 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0> at segment 2533 and sample 1009449
> 0:00:00.166786120 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:731:gst_audio_base_src_get_offset:<testaudiogstsrc0> dropped, align to segment 2533
> 0:00:00.166794453 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0> reading from 2289, we are at 2533, sample 1117053
> 0:00:00.166802699 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0> reading from sample 1117053 length 3528
> 0:00:00.166830889 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0> read 441 of 441
> 0:00:00.166837531 32740      0x1b74f70 WARN            audiobasesrc gstaudiobasesrc.c:844:gst_audio_base_src_create:<testaudiogstsrc0> create DISCONT of 107604 samples at sample 1117053
> 0:00:00.166847723 32740      0x1b74f70 WARN            audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0> warning: Can't record audio fast enough
> 0:00:00.166853578 32740      0x1b74f70 WARN            audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0> warning: Dropped 107604 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.
> 0:00:00.166857830 32740 0x7f38b80018c0 WARN                   pulse pulsesink.c:653:gst_pulsering_stream_overflow_cb:<pulsesink0> Got overflow
> 0:00:00.166898215 32740      0x1b74f70 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 1117935, delay 0, real 1117935, time 0:00:25.350000000
> 0:00:00.166910420 32740      0x1b74f70 WARN           audiobasesink gstaudiobasesink.c:1295:gst_audio_base_sink_skew_slaving:<pulsesink0> correct clock skew -1321956500 < -20000000
> GstMessageWarning, gerror=(GError)NULL, debug=(string)"gstaudiobasesrc.c\(849\):\ gst_audio_base_src_create\ \(\):\ /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0:\012Dropped\ 107604\ samples.\ This\ is\ most\ likely\ because\ downstream\ can\'t\ keep\ up\ and\ is\ consuming\ samples\ too\ slowly.";
> WARNING: from element /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0: Can't record audio fast enough
> Additional debug info:
> gstaudiobasesrc.c(849): gst_audio_base_src_create (): /GstPipeline:pipeline0/TestAudioGstSrc:testaudiogstsrc0:
> Dropped 107604 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.
> Caught interrupt -- handling interrupt.
> Got message #41 from element "pipeline0" (application): GstLaunchInterrupt, message=(string)"Pipeline\ interrupted";
> Interrupt: Stopping pipeline ...
> Execution ended after 2253552080 ns.
> Setting pipeline to PAUSED ...
> 0:00:02.271033826 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 18209331, delay 0, real 18209331, time 0:06:52.910000000
> 0:00:02.271604314 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:1131:gst_audio_base_src_change_state:<testaudiogstsrc0> PLAYING->PAUSED
> 0:00:02.271629412 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0> processed samples: raw 18213741, delay 0, real 18213741, time 0:06:53.010000000
> Setting pipeline to READY ...
> 0:00:02.271672111 32740 0x7f38bc002990 DEBUG               audiosrc gstaudiosrc.c:266:audioringbuffer_thread_func:<testaudiogstsrc0> signal wait
> 0:00:02.271697670 32740 0x7f38bc002990 DEBUG               audiosrc gstaudiosrc.c:268:audioringbuffer_thread_func:<testaudiogstsrc0> wait for action
> 0:00:02.272299115 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:1136:gst_audio_base_src_change_state:<testaudiogstsrc0> PAUSED->READY
> 0:00:02.272345195 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:1155:gst_audio_base_src_change_state:<testaudiogstsrc0> PAUSED->READY
> 0:00:02.272353858 32740      0x1b580c0 DEBUG               audiosrc gstaudiosrc.c:465:gst_audio_src_ring_buffer_stop: reset...
> 0:00:02.272364619 32740      0x1b580c0 INFO               testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:222:testaudio_gst_reset:<testaudiogstsrc0> reset
> 0:00:02.272370065 32740      0x1b580c0 DEBUG               audiosrc gstaudiosrc.c:467:gst_audio_src_ring_buffer_stop: reset done
> 0:00:02.272543277 32740 0x7f38bc002990 DEBUG               audiosrc gstaudiosrc.c:270:audioringbuffer_thread_func:<testaudiogstsrc0> got signal
> 0:00:02.272556627 32740 0x7f38bc002990 DEBUG               audiosrc gstaudiosrc.c:291:audioringbuffer_thread_func: stop running, exit thread
> 0:00:02.272567306 32740 0x7f38bc002990 DEBUG               audiosrc gstaudiosrc.c:295:audioringbuffer_thread_func:<testaudiogstsrc0> posting LEAVE stream status
> 0:00:02.272599482 32740      0x1b580c0 INFO               testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:186:testaudio_gst_unprepare:<testaudiogstsrc0> unprepare
> Setting pipeline to NULL ...
> 0:00:02.272768791 32740      0x1b580c0 DEBUG           audiobasesrc gstaudiobasesrc.c:1159:gst_audio_base_src_change_state:<testaudiogstsrc0> READY->NULL
> Freeing pipeline ...



More information about the gstreamer-devel mailing list