Why send seeks to sinks?

amindfv at mailbox.org amindfv at mailbox.org
Mon Jun 27 22:33:54 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.

By novice I mean that I still have many chunks of missing knowledge and make many relatively simple mistakes, but I've been using the GStreamer API and reading the `gst-docs` files for over a year, so I do feel ready to dive deeper.

The answer doesn't seem to be, for example, in gst-docs/markdown/additional/design/seeking.md .

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