When should I send a starting seek?

Mathieu Duponchelle mathieu at centricular.com
Tue Apr 19 21:38:45 UTC 2022


At a low level, the usual solution is to preroll the pipeline, then once that is done send a flushing seek.

nleurisource can take care of this process for you, for instance:
gst-launch-1.0 nleurisource uri=file:///home/meh/Videos/the-great-gatsby-720p-trailer.mov inpoint=10000000000 duration=10000000000 caps="video/x-raw(ANY)" ! videoconvert ! autovideosink
Adapt to your use case as necessary :)
On Apr 19 2022, at 10:26 pm, amindfv--- via gstreamer-devel <gstreamer-devel at lists.freedesktop.org> wrote:
> I've built a pipeline that looks something like this
>
> uridecodebin -\
> >- filter - videoconvert - autovideosink
> uridecodebin -/
>
> (I can provide code if needed)
> Which works well. My problem comes in, though, when I want to start the two uridecodebins at a certain point in their files (for example, starting 10 seconds in and running for 30 seconds).
> I've been sending a segment seek event (to each uridecodebin) immediately after linking the uridecodebin video pad to the filter, but I get segfaults and other errors, e.g.:
> gst_segment_clip: assertion 'segment->format == format' failed
> and
> gst_video_codec_frame_unref: assertion 'frame->ref_count > 0' failed
> What's the correct way to construct a graph that begins partway into a decoded file?
> Thanks!
> Tom
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220419/ed6e3674/attachment.htm>


More information about the gstreamer-devel mailing list