[ Flags ]
public enum SeekFlags
Flags to be used with seek or
All flags can be used together.
A non flushing seek might take some time to perform as the currently playing data in the pipeline will not be cleared.
An accurate seek might be slower for formats that don't have any indexes or timestamp markers in the stream. Specifying this flag might require
a complete scan of the file in those cases.
When performing a segment seek: after the playback of the segment completes, no EOS will be emmited by the element that performed the seek, but
a SEGMENT_DONE message will be posted on the bus by the
element. When this message is posted, it is possible to send a new seek event to continue playback. With this seek method it is possible to
perform seamless looping or simple linear editing.
When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode playback, the
GST_SEEK_FLAG_SKIP flag can be
used to instruct decoders and demuxers to adjust the playback rate by skipping frames. This can improve performance and decrease CPU usage
because not all frames need to be decoded.
GST_SEEK_FLAG_SNAP_BEFORE flag can be used to snap to the previous relevant location, and the
flag can be used to select the next relevant location. If KEY_UNIT is specified, the relevant location is a keyframe. If both flags are
specified, the nearest of these locations will be selected. If none are specified, the implementation is free to select whichever it wants. The
before and after here are in running time, so when playing backwards, the next location refers to the one that will played in next, and not the
one that is located after in the actual source stream.
Also see part-seeking.txt in the GStreamer design documentation for more details on the meaning of these flags and the behaviour expected of
elements that handle them.