Synchronization in Audiosink

Stefan Ulbrich stefan.ulbrich at acceptto.com
Mon Jul 23 22:45:45 UTC 2018


Hi Olivier

I first used GstAudioSink. The problem is that I will not get back any
information on the state of the buffer of the remote device (delay()) and I
could only get (crackling sound) by adding sleeps in the _write() function.
 On IRC, I've been told that a ring buffer would not be the best approach
for this case but that I rather should drive from BaseSink and activate
synchronization and overwrite _get_times().

I did that and now I'm stuck with a buffer in _render() that has size
1024-while I expect a multiple of 80 (g711 encoding). Also I'm still
searching for examples to get the data similarly to the previous _write ()
function.

Any advice/suggestions? Any help would be much appreciated :-)

Best
Stefan




On Mon, Jul 23, 2018, 11:51 PM Olivier CrĂȘte <olivier.crete at collabora.com>
wrote:

> Hi,
>
> Are you using GstAudioBaseSink? If you're not, you should be. That means
> implementing a ringbuffer, etc. Maybe you want to look at the code for
> pulsesink as a pretty complete (and complex) example.
>
> Olivier
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180724/3111f276/attachment.html>


More information about the gstreamer-devel mailing list