Segment.doSeek

Update the segment structure with the field values of a seek event (see 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.

class Segment
bool
doSeek

Parameters

rate double

the rate of the segment.

format GstFormat

the format of the segment.

flags GstSeekFlags

the segment flags for the segment

startType GstSeekType

the seek method

start ulong

the seek start value

stopType GstSeekType

the seek method

stop ulong

the seek stop value

update bool

boolean holding whether position was updated.

Return Value

Type: bool

TRUE if the seek could be performed.