## GstSegment GstSegment |

## Functions

gboolean | gst_segment_clip ()
void | gst_segment_init ()
GstSegment * | gst_segment_new ()
GstSegment * | gst_segment_copy ()
void | gst_segment_free ()
gboolean | gst_segment_do_seek ()
guint64 | gst_segment_position_from_stream_time ()
gint | gst_segment_position_from_stream_time_full ()
guint64 | gst_segment_to_running_time ()
gint | gst_segment_to_running_time_full ()
guint64 | gst_segment_to_stream_time ()
gint | gst_segment_to_stream_time_full ()
guint64 | gst_segment_position_from_running_time ()
gint | gst_segment_position_from_running_time_full ()
guint64 | gst_segment_to_position ()
gboolean | gst_segment_set_running_time ()
void | gst_segment_copy_into ()
gboolean | gst_segment_offset_running_time ()
gboolean | gst_segment_is_equal ()

## Types and Values

struct | GstSegment
enum | GstSegmentFlags

## Object Hierarchy

        GBoxed
        ╰── GstSegment

## Includes

    #include <gst/gst.h>

## Description

## Functions

### gst_segment_clip ()

    gboolean
    gst_segment_clip (const GstSegment *segment,
                      GstFormat format,
                      guint64 start,
                      guint64 stop,
                      guint64 *clip_start,
                      guint64 *clip_stop);

### gst_segment_init ()

    void
    gst_segment_init (GstSegment *segment,
                      GstFormat format);

### gst_segment_new ()

    GstSegment *
    gst_segment_new (void);

### gst_segment_copy ()

    GstSegment *
    gst_segment_copy (const GstSegment *segment);

### gst_segment_free ()

    void
    gst_segment_free (GstSegment *segment);

### gst_segment_do_seek ()

    gboolean
    gst_segment_do_seek (GstSegment *segment,
                         gdouble rate,
                         GstFormat format,
                         GstSeekFlags flags,
                         GstSeekType start_type,
                         guint64 start,
                         GstSeekType stop_type,
                         guint64 stop,
                         gboolean *update);

### gst_segment_position_from_stream_time ()

    guint64
    gst_segment_position_from_stream_time (const GstSegment *segment,
                                           GstFormat format,
                                           guint64 stream_time);

### gst_segment_position_from_stream_time_full ()

    gint
    gst_segment_position_from_stream_time_full
                                   (const GstSegment *segment,
                                    GstFormat format,
                                    guint64 stream_time,
                                    guint64 *position);

### gst_segment_to_running_time ()

    guint64
    gst_segment_to_running_time (const GstSegment *segment,
                                 GstFormat format,
                                 guint64 position);

### gst_segment_to_running_time_full ()

    gint
    gst_segment_to_running_time_full (const GstSegment *segment,
                                      GstFormat format,
                                      guint64 position,
                                      guint64 *running_time);

### gst_segment_to_stream_time ()

    guint64
    gst_segment_to_stream_time (const GstSegment *segment,
                                GstFormat format,
                                guint64 position);

### gst_segment_to_stream_time_full ()

    gint
    gst_segment_to_stream_time_full (const GstSegment *segment,
                                     GstFormat format,
                                     guint64 position,
                                     guint64 *stream_time);

### gst_segment_position_from_running_time ()

    guint64
    gst_segment_position_from_running_time
                                   (const GstSegment *segment,
                                    GstFormat format,
                                    guint64 running_time);

### gst_segment_position_from_running_time_full ()

    gint
    gst_segment_position_from_running_time_full
                                   (const GstSegment *segment,
                                    GstFormat format,
                                    guint64 running_time,
                                    guint64 *position);

### gst_segment_to_position ()

    guint64
    gst_segment_to_position (const GstSegment *segment,
                             GstFormat format,
                             guint64 running_time);

`gst_segment_to_position` is deprecated and should not be used in newly-written code.

### gst_segment_set_running_time ()

    gboolean
    gst_segment_set_running_time (GstSegment *segment,
                                  GstFormat format,
                                  guint64 running_time);

### gst_segment_copy_into ()

    void
    gst_segment_copy_into (const GstSegment *src,
                           GstSegment *dest);

### gst_segment_offset_running_time ()

    gboolean
    gst_segment_offset_running_time (GstSegment *segment,
                                     GstFormat format,
                                     gint64 offset);

### gst_segment_is_equal ()

    gboolean
    gst_segment_is_equal (const GstSegment *s0,
                          const GstSegment *s1);

## Types and Values

### struct GstSegment

    struct GstSegment {
      GstSegmentFlags flags;

      gdouble         rate;
      gdouble         applied_rate;

      GstFormat       format;
      guint64         base;
      guint64         offset;
      guint64         start;
      guint64         stop;
      guint64         time;

      guint64         position;
      guint64         duration;
    };

### enum GstSegmentFlags

#### Members

GST_SEGMENT_FLAG_NONE |  |
GST_SEGMENT_FLAG_RESET |  |
GST_SEGMENT_FLAG_TRICKMODE |  |
GST_SEGMENT_FLAG_SKIP |  |
GST_SEGMENT_FLAG_SEGMENT |  |
GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS |  |
GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO |  |