pad: refuse events in flushing
[platform/upstream/gstreamer.git] / gst / gstsegment.h
index 6bf6a9d..89addee 100644 (file)
@@ -34,10 +34,6 @@ typedef struct _GstSegment GstSegment;
 /**
  * GstSeekType:
  * @GST_SEEK_TYPE_NONE: no change in position is required
- * @GST_SEEK_TYPE_CUR: change relative to currently configured segment. This
- *    can't be used to seek relative to the current playback position - do a
- *    position query, calculate the desired position and then do an absolute
- *    position seek instead if that's what you want to do.
  * @GST_SEEK_TYPE_SET: absolute position is requested
  * @GST_SEEK_TYPE_END: relative position to duration is requested
  *
@@ -47,9 +43,8 @@ typedef struct _GstSegment GstSegment;
 typedef enum {
   /* one of these */
   GST_SEEK_TYPE_NONE            = 0,
-  GST_SEEK_TYPE_CUR             = 1,
-  GST_SEEK_TYPE_SET             = 2,
-  GST_SEEK_TYPE_END             = 3
+  GST_SEEK_TYPE_SET             = 1,
+  GST_SEEK_TYPE_END             = 2
 } GstSeekType;
 
 /**
@@ -79,7 +74,7 @@ typedef enum {
  * no EOS will be emmited by the element that performed the seek, but a
  * #GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element.
  * When this message is posted, it is possible to send a new seek event to
- * continue playback. With this seek method it is possible to perform seemless
+ * continue playback. With this seek method it is possible to perform seamless
  * looping or simple linear editing.
  *
  * When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode
@@ -101,6 +96,22 @@ typedef enum {
 } GstSeekFlags;
 
 /**
+ * GstSegmentFlags:
+ * @GST_SEGMENT_FLAG_NONE: no flags
+ * @GST_SEGMENT_FLAG_RESET: reset the pipeline running_time to the segment
+ *                          running_time
+ * @GST_SEGMENT_FLAG_SKIP: perform skip playback
+ *
+ * Flags for the GstSegment structure. Currently mapped to the corresponding
+ * values of the seek flags.
+ */
+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
+} GstSegmentFlags;
+
+/**
  * GstSegment:
  * @flags: flags for this segment
  * @rate: the rate of the segment
@@ -110,13 +121,15 @@ typedef enum {
  * @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
+ * @duration: the duration of the segment
  *
  * A helper structure that holds the configured region of
  * interest in a media file.
  */
 struct _GstSegment {
   /*< public >*/
-  GstSeekFlags    flags;
+  GstSegmentFlags flags;
 
   gdouble         rate;
   gdouble         applied_rate;