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 [335m32740[00m 0x1b580c0 [36mINFO [00m [00m testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:264:testaudio_plugin_init:<plugin175>[00m plugin_init
0:00:00.010886606 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:114:_do_init:[00m binding text domain gst-plugins-base-1.0 to locale dir /usr/share/locale
0:00:00.010965145 [335m32740[00m 0x1b580c0 [36mINFO [00m [00m testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:131:testaudio_gst_src_class_init:0x1b5d4f0[00m class init
0:00:00.011069978 [335m32740[00m 0x1b580c0 [36mINFO [00m [00m testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:167:testaudio_gst_src_init:<TestAudioGstSrc at 0x1b62020>[00m src init
Setting pipeline to PAUSED ...
0:00:00.016407997 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:1101:gst_audio_base_src_change_state:<testaudiogstsrc0>[00m NULL->READY
0:00:00.016444163 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:538:gst_audio_src_create_ringbuffer:[00m creating ringbuffer
0:00:00.016485190 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:540:gst_audio_src_create_ringbuffer:[00m created ringbuffer @0x1b861f0
0:00:00.016602630 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:1112:gst_audio_base_src_change_state:<testaudiogstsrc0>[00m READY->PAUSED
Pipeline is live and does not need PREROLL ...
0:00:00.016809424 [335m32740[00m 0x1b74f70 [32;01mFIXME [00m [00;04m default gstutils.c:3622:gst_pad_create_stream_id_printf_valist:<testaudiogstsrc0:src>[00m 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 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:553:gst_audio_base_src_setcaps:[00m release old ringbuffer
0:00:00.017317971 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 0, delay 0, real 0, time 0:00:00.000000000
0:00:00.017324281 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:559:gst_audio_base_src_setcaps:[00m acquire new ringbuffer
0:00:00.017361116 [335m32740[00m 0x1b74f70 [36mINFO [00m [00m testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:179:testaudio_gst_prepare:<testaudiogstsrc0>[00m prepare
0:00:00.017393076 [335m32740[00m 0x1b580c0 [33;01mWARN [00m [00;01m bin gstbin.c:2488:gst_bin_do_latency_func:<pipeline0>[00m failed to query latency
0:00:00.017441347 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:1127:gst_audio_base_src_change_state:<testaudiogstsrc0>[00m PAUSED->PLAYING
0:00:00.017483067 [335m32740[00m 0x7f38bc002990 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:214:audioringbuffer_thread_func:<testaudiogstsrc0>[00m 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 [335m32740[00m 0x7f38bc002990 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:268:audioringbuffer_thread_func:<testaudiogstsrc0>[00m 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 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:737:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m first sample, align to current 0
0:00:00.025328029 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 0, we are at 0, sample 0
0:00:00.025334351 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 0 length 3528
0:00:00.025358314 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:448:gst_audio_src_ring_buffer_start:[00m start, sending signal
0:00:00.027702756 [335m32740[00m 0x7f38bc002990 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:270:audioringbuffer_thread_func:<testaudiogstsrc0>[00m got signal
0:00:00.027720322 [335m32740[00m 0x7f38bc002990 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:273:audioringbuffer_thread_func:<testaudiogstsrc0>[00m continue running
0:00:00.027800944 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.027818487 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m 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 [335m32740[00m 0x1b75190 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:634:gst_audio_base_src_query:<testaudiogstsrc0>[00m report latency min 0:00:00.010000000 max 0:00:00.200000000
0:00:00.039827725 [335m32740[00m 0x1b75190 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:690:gst_audio_base_src_event:<testaudiogstsrc0>[00m forward event 0x7f38bc003b00
0:00:00.039914665 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m 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 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m 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 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 214 and sample 441
0:00:00.039975763 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:731:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m dropped, align to segment 214
0:00:00.039981226 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 1, we are at 214, sample 94374
0:00:00.039986971 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m 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 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.040115932 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesrc gstaudiobasesrc.c:844:gst_audio_base_src_create:<testaudiogstsrc0>[00m create DISCONT of 93933 samples at sample 94374
0:00:00.040155813 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0>[00m warning: Can't record audio fast enough
0:00:00.040163626 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0>[00m warning: Dropped 93933 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.
0:00:00.040222802 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m 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 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 224 and sample 94815
0:00:00.040657816 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 215, we are at 224, sample 94815
0:00:00.040663708 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 94815 length 3528
0:00:00.040671955 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.040688164 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 98784, delay 0, real 98784, time 0:00:02.240000000
0:00:00.040723231 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 225 and sample 95256
0:00:00.040731328 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 216, we are at 225, sample 95256
0:00:00.040737111 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 95256 length 3528
0:00:00.040744736 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.040758747 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 99666, delay 0, real 99666, time 0:00:02.260000000
0:00:00.040776243 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 226 and sample 95697
0:00:00.040783051 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 217, we are at 226, sample 95697
0:00:00.040788674 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 95697 length 3528
0:00:00.040795721 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.040808727 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 100107, delay 0, real 100107, time 0:00:02.270000000
0:00:00.040826822 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 227 and sample 96138
0:00:00.040833628 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 218, we are at 227, sample 96138
0:00:00.040839174 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 96138 length 3528
0:00:00.040846313 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.040859131 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 100548, delay 0, real 100548, time 0:00:02.280000000
0:00:00.041109652 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 229 and sample 96579
0:00:00.041119385 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 219, we are at 229, sample 96579
0:00:00.041125203 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 96579 length 3528
0:00:00.041132951 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.041148254 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m 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 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 235 and sample 97020
0:00:00.041448721 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 220, we are at 235, sample 97020
0:00:00.041456911 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 97020 length 3528
0:00:00.041467400 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.041485757 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 104076, delay 0, real 104076, time 0:00:02.360000000
0:00:00.041496231 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesink gstaudiobasesink.c:1295:gst_audio_base_sink_skew_slaving:<pulsesink0>[00m correct clock skew -26213194 < -20000000
0:00:00.041512962 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 236 and sample 97461
0:00:00.041519917 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 221, we are at 236, sample 97461
0:00:00.041525461 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 97461 length 3528
0:00:00.041535520 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.041549198 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 104517, delay 0, real 104517, time 0:00:02.370000000
0:00:00.041566838 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 237 and sample 97902
0:00:00.041573635 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 222, we are at 237, sample 97902
0:00:00.041579178 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 97902 length 3528
0:00:00.041586060 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.041599082 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 104958, delay 0, real 104958, time 0:00:02.380000000
0:00:00.041616515 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 238 and sample 98343
0:00:00.041623235 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 223, we are at 238, sample 98343
0:00:00.041628774 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 98343 length 3528
0:00:00.041635522 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.041648235 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 105399, delay 0, real 105399, time 0:00:02.390000000
0:00:00.041665495 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 239 and sample 98784
0:00:00.041672314 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 224, we are at 239, sample 98784
0:00:00.041677847 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 98784 length 3528
0:00:00.041684681 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.041697480 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 105399, delay 0, real 105399, time 0:00:02.390000000
0:00:00.041721455 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 240 and sample 99225
0:00:00.041728693 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 225, we are at 240, sample 99225
0:00:00.041736394 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 99225 length 3528
0:00:00.041743431 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.041756669 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 106281, delay 0, real 106281, time 0:00:02.410000000
0:00:00.153305131 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 2288 and sample 99666
0:00:00.153331763 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:731:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m dropped, align to segment 2288
0:00:00.153338320 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 226, we are at 2288, sample 1009008
0:00:00.153344767 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 1009008 length 3528
0:00:00.153363710 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.153369887 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesrc gstaudiobasesrc.c:844:gst_audio_base_src_create:<testaudiogstsrc0>[00m create DISCONT of 909342 samples at sample 1009008
0:00:00.153385150 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0>[00m warning: Can't record audio fast enough
0:00:00.153390875 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0>[00m 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 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesink gstaudiobasesink.c:1295:gst_audio_base_sink_skew_slaving:<pulsesink0>[00m 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 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:721:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m at segment 2533 and sample 1009449
0:00:00.166786120 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:731:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m dropped, align to segment 2533
0:00:00.166794453 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:744:gst_audio_base_src_get_offset:<testaudiogstsrc0>[00m reading from 2289, we are at 2533, sample 1117053
0:00:00.166802699 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:799:gst_audio_base_src_create:<testaudiogstsrc0>[00m reading from sample 1117053 length 3528
0:00:00.166830889 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:821:gst_audio_base_src_create:<testaudiogstsrc0>[00m read 441 of 441
0:00:00.166837531 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesrc gstaudiobasesrc.c:844:gst_audio_base_src_create:<testaudiogstsrc0>[00m create DISCONT of 107604 samples at sample 1117053
0:00:00.166847723 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0>[00m warning: Can't record audio fast enough
0:00:00.166853578 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesrc gstaudiobasesrc.c:849:gst_audio_base_src_create:<testaudiogstsrc0>[00m warning: Dropped 107604 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.
0:00:00.166857830 [335m32740[00m 0x7f38b80018c0 [33;01mWARN [00m [00m pulse pulsesink.c:653:gst_pulsering_stream_overflow_cb:<pulsesink0>[00m Got overflow
0:00:00.166898215 [335m32740[00m 0x1b74f70 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 1117935, delay 0, real 1117935, time 0:00:25.350000000
0:00:00.166910420 [335m32740[00m 0x1b74f70 [33;01mWARN [00m [00m audiobasesink gstaudiobasesink.c:1295:gst_audio_base_sink_skew_slaving:<pulsesink0>[00m 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 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 18209331, delay 0, real 18209331, time 0:06:52.910000000
0:00:02.271604314 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:1131:gst_audio_base_src_change_state:<testaudiogstsrc0>[00m PLAYING->PAUSED
0:00:02.271629412 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:346:gst_audio_base_src_get_time:<testaudiogstsrc0>[00m processed samples: raw 18213741, delay 0, real 18213741, time 0:06:53.010000000
Setting pipeline to READY ...
0:00:02.271672111 [335m32740[00m 0x7f38bc002990 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:266:audioringbuffer_thread_func:<testaudiogstsrc0>[00m signal wait
0:00:02.271697670 [335m32740[00m 0x7f38bc002990 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:268:audioringbuffer_thread_func:<testaudiogstsrc0>[00m wait for action
0:00:02.272299115 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:1136:gst_audio_base_src_change_state:<testaudiogstsrc0>[00m PAUSED->READY
0:00:02.272345195 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:1155:gst_audio_base_src_change_state:<testaudiogstsrc0>[00m PAUSED->READY
0:00:02.272353858 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:465:gst_audio_src_ring_buffer_stop:[00m reset...
0:00:02.272364619 [335m32740[00m 0x1b580c0 [36mINFO [00m [00m testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:222:testaudio_gst_reset:<testaudiogstsrc0>[00m reset
0:00:02.272370065 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:467:gst_audio_src_ring_buffer_stop:[00m reset done
0:00:02.272543277 [335m32740[00m 0x7f38bc002990 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:270:audioringbuffer_thread_func:<testaudiogstsrc0>[00m got signal
0:00:02.272556627 [335m32740[00m 0x7f38bc002990 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:291:audioringbuffer_thread_func:[00m stop running, exit thread
0:00:02.272567306 [335m32740[00m 0x7f38bc002990 [37mDEBUG [00m [00m audiosrc gstaudiosrc.c:295:audioringbuffer_thread_func:<testaudiogstsrc0>[00m posting LEAVE stream status
0:00:02.272599482 [335m32740[00m 0x1b580c0 [36mINFO [00m [00m testaudio /home/ivan/src/testaudio_gstreamer/src/gst_testaudio.c:186:testaudio_gst_unprepare:<testaudiogstsrc0>[00m unprepare
Setting pipeline to NULL ...
0:00:02.272768791 [335m32740[00m 0x1b580c0 [37mDEBUG [00m [00m audiobasesrc gstaudiobasesrc.c:1159:gst_audio_base_src_change_state:<testaudiogstsrc0>[00m READY->NULL
Freeing pipeline ...
More information about the gstreamer-devel
mailing list