Asynchrounous Audio Sample Rate Conversion with gstreamer

Maik Scholz Scholz.Maik at t-online.de
Fri Apr 29 19:11:49 UTC 2016


Hi,

in some use cases (broadcast digital radio or IP radio), the transmitter 
is sending an audio stream with a nominal sampling rate (e.g. 48kHz).
When a receiver, expecting 48KHz, wants to play these samples on a local 
sound sink, then there is always the problem,
that the transmitter clock slightly differs from the receiver clock.
For that issue, I need an asynchronous sampling rate converter!

Is this possible the available gstreamer plugins?
Do audioresample support asynchronous clocks?

_My example:_
My Transmitter (sending samples with *(48-1)*kHz):
gst-launch-0.10 audiotestsrc freq=300 ! audio/x-raw-int, 
endianness="(int)1234", signed="(boolean)true", width="(int)16", 
depth="(int)16", rate="(int)*47*000", channels="(int)1" ! tcpclientsink 
host=localhost port=3000

My Receiver: (Expeting 48kHz)
gst-launch-0.10 tcpserversrc host=localhost port=3000 ! audio/x-raw-int, 
endianness="(int)1234", signed="(boolean)true", width="(int)16", 
depth="(int)16", rate="(int)48000", channels="(int)1" ! audioconvert ! 
audioresample ! audio/x-raw-int, endianness="(int)1234", 
signed="(boolean)true", width="(int)16", depth="(int)16", 
rate="(int)48000", channels="(int)1" ! autoaudiosink

Because the transmitter clock (47kHz) differs from the receiver clock 
(48kHz), the sound drops over short time.

Thank you for any hint in advance.

Maik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160429/858d7bd6/attachment-0001.html>


More information about the gstreamer-devel mailing list