diff --git a/gst/gstsegment.c b/gst/gstsegment.c index fb73068e90..f1c9c83818 100644 --- a/gst/gstsegment.c +++ b/gst/gstsegment.c @@ -323,6 +323,8 @@ gst_segment_do_seek (GstSegment * segment, gdouble rate, segment->flags |= GST_SEGMENT_FLAG_RESET; if ((flags & GST_SEEK_FLAG_SKIP) != 0) segment->flags |= GST_SEGMENT_FLAG_SKIP; + if ((flags & GST_SEEK_FLAG_SEGMENT) != 0) + segment->flags |= GST_SEGMENT_FLAG_SEGMENT; segment->start = start; segment->stop = stop; segment->time = start; diff --git a/gst/gstsegment.h b/gst/gstsegment.h index ac8c07ec4e..2872e4c28c 100644 --- a/gst/gstsegment.h +++ b/gst/gstsegment.h @@ -126,6 +126,7 @@ typedef enum { * @GST_SEGMENT_FLAG_RESET: reset the pipeline running_time to the segment * running_time * @GST_SEGMENT_FLAG_SKIP: perform skip playback + * @GST_SEGMENT_FLAG_SEGMENT: send SEGMENT_DONE instead of EOS * * Flags for the GstSegment structure. Currently mapped to the corresponding * values of the seek flags. @@ -134,7 +135,8 @@ typedef enum { typedef enum { GST_SEGMENT_FLAG_NONE = GST_SEEK_FLAG_NONE, GST_SEGMENT_FLAG_RESET = GST_SEEK_FLAG_FLUSH, - GST_SEGMENT_FLAG_SKIP = GST_SEEK_FLAG_SKIP + GST_SEGMENT_FLAG_SKIP = GST_SEEK_FLAG_SKIP, + GST_SEGMENT_FLAG_SEGMENT = GST_SEEK_FLAG_SEGMENT } GstSegmentFlags; /**