Why send seeks to sinks?

amindfv at mailbox.org amindfv at mailbox.org
Mon Jun 27 22:55:25 UTC 2022


On Mon, Jun 27, 2022 at 04:25:35PM -0400, Nicolas Dufresne wrote:
> Le lundi 27 juin 2022 à 10:38 -0700, amindfv--- via gstreamer-devel a écrit :
> > As a novice, it's quite unintuitive to send seek events to the sinks of a
> > pipeline.
> > 
> > For example, say I'd like to have two video files, each playing from a a
> > different point in the file. I'd then like to play them simultaneously, mix
> > them together (e.g. give them each opacity 0.5 and overlay them) and then send
> > the combined data stream to e.g. an autovideosink. Intuitively, I'd imagine:
> 
> As a novice, you should use GStreamer Edition Service API for the purpose, this
> problem have been solve inside that library.

I also did attempt the GES route but had issues where the code would segfault on fairly simple graphs. I asked about it on the mailing list a couple months back (April 20, 2022), but never found out what was wrong.

Tom

> 
> > 
> >   a) I'd send a seek event to the source, not the sink, to cause the source to
> > jump to a different point in its file, and
> >   b) the autovideosink wouldn't know or care what seeking had happened
> > upstream
> > 
> > But I think both of my intuitive guesses are very wrong. My sense it that
> > there's a deep reason for why things are the way they are, and understanding
> > it will uncover some misconceptions I have about how GStreamer works
> > (something about clocks, maybe?)
> > 
> > If anyone could help me understand, or point me towards a resource that'll
> > help, it'd be much appreciated.
> > 
> > Thanks,
> > Tom
> 


More information about the gstreamer-devel mailing list