do_seek
Description:
Update the segment structure with the field values of a seek event (see Event.seek).
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 this start field when it was
updated with a start_type
different from NONE. If no update
was performed on this start position (#GST_SEEK_TYPE_NONE), start
is ignored and
this position is unmodified.
For negative rate
, the new position in the segment is the new this stop field when it was
updated with a stop_type
different from 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
this stop position (#GST_SEEK_TYPE_NONE), stop
is ignored and this
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 this 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:
this |
a Segment structure. |
rate |
the rate of the segment. |
format |
the format of the segment. |
flags |
the segment flags for the segment |
start_type |
the seek method |
start |
the seek start value |
stop_type |
the seek method |
stop |
the seek stop value |
update |
boolean holding whether position was updated. |
Returns:
|