Problem generating sound while implementing GstAudioSrc

Ivan Kelly ivan at ivankelly.net
Sun Jan 13 09:03:58 PST 2013


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

-------------- next part --------------
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