+2006-02-02 Wim Taymans <wim@fluendo.com>
+
+ * gst/gstsegment.c: (gst_segment_clip):
+ No reason to refuse to clip when start == -1
+
2006-02-02 Stefan Kost <ensonic@users.sf.net>
* docs/README:
*
* This function is typically used by elements that need to operate on
* the stream time of the buffers it receives, such as effect plugins.
+ * The stream time is always between 0 and the total duration of the
+ * media stream.
*
* Returns: the position in stream_time.
*/
* segment.
*
* This function is typically used by elements that need to synchronize to the
- * global clock in a pipeline.
+ * global clock in a pipeline. The runnning time is a constantly increasing value
+ * starting from 0.
*
* Returns: the position as the total running time.
*/
else
g_return_val_if_fail (segment->format == format, FALSE);
- /* we need a valid start position */
- if (start == -1)
- return FALSE;
-
- /* if we have a stop position and start is bigger, we're
- * outside of the segment */
- if (segment->stop != -1 && start >= segment->stop)
+ /* if we have a stop position and a valid start and start is bigger,
+ * we're outside of the segment */
+ if (segment->stop != -1 && start != -1 && start >= segment->stop)
return FALSE;
/* if a stop position is given and is before the segment start,
if (stop != -1 && stop <= segment->start)
return FALSE;
- if (clip_start)
- *clip_start = MAX (start, segment->start);
+ if (clip_start) {
+ if (start == -1)
+ *clip_start = -1;
+ else
+ *clip_start = MAX (start, segment->start);
+ }
if (clip_stop) {
if (stop == -1)