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