debugging a/v-sync issues, possibly inter*-element related

Nicolas Dufresne nicolas.dufresne at collabora.com
Wed Jun 3 13:07:35 PDT 2015


Le mercredi 03 juin 2015 à 13:40 +0200, Peter Körner a écrit :
> Hi Nicolas,
> 
> On 03.06.2015 02:45, Nicolas Dufresne wrote:
> > Le Tuesday 02 June 2015 à 15:30 +0200, Peter Körner a écrit :
> > > My guess is, that there may be a truncation error or sth. the 
> > > like in
> > > the inter* elements, but I may be wrong here. I'm happy to accept
> > > Ideas on how to debug this further.
> > 
> > The inter sink/src element are use to split your stream into 
> > multiple
> > pipeline. This means, split your stream over multiple clocks, hence 
> > not
> > synchronization is happening.
> I chose that design with inter-Elements so that when a source dies
> (someone pulls a plug, for example), the mixer- and output-pipelines
> keep running. inter*src fills the gap with black/silence in this 
> case.
> 
> Is there another design that would achieve this?

On git master, the compositor should keep composing if a source stop
producing (ignoring that pad, done with a timeout);

> 
> 
> > If you want synchronized playback, keep
> > everything in the same pipeline, or considering using a shared 
> > clock.
> I was under the impression that they would share the same
> Gst.SystemClock anyway.
> 
> Nevertheless I created a global Gst.SystemClock and shared them 
> across
> all pipelines. I set start_time to CLOCK_TIME_NONE and base_time to a
> common value fetched from the clock upon startup, following the 
> example
> <http://noraisin.net/gst/play-master.py>
> 
> The result is identical: the audio starts 10ms early on the output,
> drifts to beeing equal and drifts on to 30ms late over ~30 minutes 
> playback.

That's because inter* element don't use upstream timestamp at all it
seems, making synchronization impossible.

Nicolas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150603/f544c59a/attachment.sig>


More information about the gstreamer-devel mailing list