Segment.doSeek

bool doSeek(double rate, gst.types.Format format, gst.types.SeekFlags flags, gst.types.SeekType startType, ulong start, gst.types.SeekType stopType, ulong stop, out bool update)

Update the segment structure with the field values of a seek event (see [gst.event.Event.newSeek]).

After calling this method, the segment field position and time will contain the requested new position in the segment. The new requested position in the segment depends on rate and start_type and stop_type.

For positive rate, the new position in the segment is the new segment start field when it was updated with a start_type different from #GST_SEEK_TYPE_NONE. If no update was performed on segment start position (#GST_SEEK_TYPE_NONE), start is ignored and segment position is unmodified.

For negative rate, the new position in the segment is the new segment stop field when it was updated with a stop_type different from #GST_SEEK_TYPE_NONE. If no stop was previously configured in the segment, the duration of the segment will be used to update the stop position. If no update was performed on segment stop position (#GST_SEEK_TYPE_NONE), stop is ignored and segment position is unmodified.

The applied rate of the segment will be set to 1.0 by default. If the caller can apply a rate change, it should update segment rate and applied_rate after calling this function.

update will be set to true if a seek should be performed to the segment position field. This field can be false if, for example, only the rate has been changed but not the playback position.

Parameters

ratethe rate of the segment.
formatthe format of the segment.
flagsthe segment flags for the segment
startTypethe seek method
startthe seek start value
stopTypethe seek method
stopthe seek stop value
updateboolean holding whether position was updated.

Returns

true if the seek could be performed.