audio chopped after running for several hours
Paixao Julien
J.Paixao at TELEVIC.com
Mon Jan 25 06:16:11 PST 2016
Hello,
I have two IP capable devices with the following audio interfaces:
- Device#1: mono analog audio input
- Device#2: mono analog audio output
The idea is to provide the analog audio input from Device#1 to the analog audio output of Device#2 with a maximum latency of 100ms.
In order to achieve that I am using the following pipelines:
- Device#1:
gst-launch-1.0 -vv alsasrc device=hw:0 latency-time=16000 buffer-time=32000 ! audio/x-raw, format=S16LE, layout=interleaved, rate=16000, channels=1 ! audioconvert dithering=0 ! audio/x-raw, format=S16BE, rate=16000, channels=1 ! rtpL16pay ! udpsink max-lateness=100000000 host=10.20.1.39 port=5004
- Device#2:
gst-launch-1.0 -vv udpsrc buffer-size=1024 port=5004 caps='application/x-rtp, media=(string)audio, clock-rate=(int)16000, encoding-name=(string)L16, encoding-params=(string)1, channels=(int)1, payload=(int)96' ! rtpL16depay ! audioconvert dithering=0 ! audio/x-raw, format=S16LE, rate=16000, channels=1 ! alsasink max-lateness=100000000 latency-time=16000 buffer-time=32000
FYI: the conversion from/to S16LE from/to S16BE is because my DAC/ADC does not support S16BE.
Time to time I check the delay between the analog audio input and the analog audio output.
The delay never goes above the 100ms but after some time the audio start to be chopped.
But it recovers by itself after 20-30mins.
When the audio start to be chopped the delay and is at around 47ms (done with a scope).
When the audio start to be chopped, I took a IP dump on the two devices, and there no packets are missing.
I would be really glad to get any suggestions from the GStreamer devel mailing list members regarding this issue.
FYI: I am using GStreamer version 1.0.7, the two devices are embedded devices where it's not so easy to upgrade the GStreamer package.
Best regards,
Paixao Julien.
More information about the gstreamer-devel
mailing list