Why send seeks to sinks?

amindfv at mailbox.org amindfv at mailbox.org
Mon Jun 27 17:38:19 UTC 2022


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:

  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