diff options
Diffstat (limited to 'gst/gstsegment.c')
-rw-r--r-- | gst/gstsegment.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gst/gstsegment.c b/gst/gstsegment.c index 8d4183ea44..8db09df3b1 100644 --- a/gst/gstsegment.c +++ b/gst/gstsegment.c @@ -884,8 +884,11 @@ gst_segment_clip (const GstSegment * segment, GstFormat format, guint64 start, g_return_val_if_fail (segment->format == format, FALSE); /* if we have a stop position and a valid start and start is bigger, - * we're outside of the segment */ - if (G_UNLIKELY (segment->stop != -1 && start != -1 && start >= segment->stop)) + * we're outside of the segment. (Special case) segment start and + * segment stop can be identical. In this case, if start is also identical, + * it's inside of segment */ + if (G_UNLIKELY (segment->stop != -1 && start != -1 && (start > segment->stop + || (segment->start != segment->stop && start == segment->stop)))) return FALSE; /* if a stop position is given and is before the segment start, |