Talking clock - timestamp problem?

David Holroyd dave at badgers-in-foil.co.uk
Sat Aug 23 16:35:45 PDT 2014


On 20/08/14 23:11, Tim Müller wrote:
> On 18/08/14 22:11, David Holroyd wrote:
>> I am trying to build a pipeline something like a 'talking clock',
>> continually announcing the current date and time as test input to
>> another system.
>>
>> The pipeline I've built in Ruby (bindings via gir_ffi) looks like:
>>
>>    appsrc ! festival ! wavparse ! audioconvert ! audioresample
>>      ! audio/x-raw,rate=48000,channels=2 ! audioconvert ! rtpL24pay
>>      ! udpsink

> Perhaps have two separate pipelines, connected via interaudiosink/src
> elements:
>
>    interaudiosrc ! ... ! rtpL24pay ! udpsink
>
> and then
>
>    appsrc ! festival ! wavparse ! ... ! interaudiosink
>
> (where ... = audioconvert ! audioresample)

> Otherwise, there's also gst_pad_set_offset().

Fantastic!  I was not aware of either of these mechanisms.

I almost have interaudio* working, but with much audio popping.

When I run the pipelines with GST_DEBUG=4, I see that interaudiosrc is 
inserting silence inbetween pieces of audio,

0:00:11.848882460  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:282:gst_inter_audio_src_create: flushing 800 samples
0:00:11.948906569  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:282:gst_inter_audio_src_create: flushing 800 samples
0:00:12.048877221  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:300:gst_inter_audio_src_create: creating 512 samples 
of silence
0:00:12.083871396  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:282:gst_inter_audio_src_create: flushing 800 samples
0:00:12.183945130  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:300:gst_inter_audio_src_create: creating 1056 samples 
of silence
0:00:12.213834049  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:282:gst_inter_audio_src_create: flushing 800 samples
0:00:12.313945515  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:300:gst_inter_audio_src_create: creating 1056 samples 
of silence
0:00:12.348859357  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:282:gst_inter_audio_src_create: flushing 800 samples
0:00:12.448882559  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:300:gst_inter_audio_src_create: creating 1056 samples 
of silence
0:00:12.483832142  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:282:gst_inter_audio_src_create: flushing 800 samples
0:00:12.583931457  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:300:gst_inter_audio_src_create: creating 1056 samples 
of silence
0:00:12.613845047  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:282:gst_inter_audio_src_create: flushing 800 samples
0:00:12.713836859  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:300:gst_inter_audio_src_create: creating 1056 samples 
of silence
0:00:12.748878419  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:282:gst_inter_audio_src_create: flushing 800 samples
0:00:12.848877876  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:282:gst_inter_audio_src_create: flushing 800 samples
0:00:12.948874678  8197  0x267d5e0 WARN   interaudiosrc 
gstinteraudiosrc.c:300:gst_inter_audio_src_create: creating 512 samples 
of silence

I have tried (unscientifically) putting queue elements in various places 
on the assumption this happens because of buffer underflows somewhere, 
but that's not helped so far.

Any ideas?


Many thanks!
dave


More information about the gstreamer-devel mailing list