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