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