timestamp.
- S.stop: stop field in the SEGMENT event. This is the highers allowed
timestamp.
- - S.rate: rate field of SEGMENT event. This is the desired playback rate.
+ - S.rate: rate field of SEGMENT event. This is the playback rate.
- S.base: a base time for the time. This is the total elapsed running_time of any
previous segments.
- S.offset: an offset to apply to S.start or S.stop. This is the amount that
Additional fields in the SEGMENT are used:
- S.time: time field in the SEGMENT event. This the stream-time of S.start
- - S.applied_rate: The rate already applied to the stream.
+ - S.applied_rate: The rate already applied to the segment.
Stream time is calculated using the buffer times and the preceding SEGMENT
event as follows:
/**
* GstSegment:
* @flags: flags for this segment
- * @rate: the rate of the segment
+ * @rate: the playback rate of the segment
* @applied_rate: the already applied rate to the segment
* @format: the format of the segment values
- * @base: the base of the segment
- * @offset: the offset to apply to @start or @stop
- * @start: the start of the segment
- * @stop: the stop of the segment
- * @time: the stream time of the segment
- * @position: the position in the segment (used internally by elements
- * such as sources, demuxers or parsers to track progress)
+ * @base: the running time (plus elapsed time, see offset) of the segment start
+ * @offset: the amount (in buffer timestamps) that has already been elapsed in
+ * the segment
+ * @start: the start of the segment in buffer timestamp time (PTS)
+ * @stop: the stop of the segment in buffer timestamp time (PTS)
+ * @time: the stream time of the segment start
+ * @position: the buffer timestamp position in the segment (used internally by
+ * elements such as sources, demuxers or parsers to track progress)
* @duration: the duration of the segment
*
* A helper structure that holds the configured region of