summaryrefslogtreecommitdiff
path: root/gst/gstsegment.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/gstsegment.c')
-rw-r--r--gst/gstsegment.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gst/gstsegment.c b/gst/gstsegment.c
index 6aa1ce228e..958b39f737 100644
--- a/gst/gstsegment.c
+++ b/gst/gstsegment.c
@@ -758,6 +758,9 @@ gst_segment_to_running_time_full (const GstSegment * segment, GstFormat format,
} else {
stop = segment->stop;
+ if (stop == -1 && segment->duration != -1)
+ stop = segment->start + segment->duration;
+
/* cannot continue if no stop position set or invalid offset */
g_return_val_if_fail (stop != -1, 0);
g_return_val_if_fail (stop >= offset, 0);