debugging a/v-sync issues, possibly inter*-element related
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
> 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
> 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
> 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
That's because inter* element don't use upstream timestamp at all it
seems, making synchronization impossible.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 181 bytes
Desc: This is a digitally signed message part
More information about the gstreamer-devel