GstBaseParse: GStreamer 1.0 Library Reference Manual

## GstBaseParse GstBaseParse |

## Functions

void | gst_base_parse_merge_tags ()
void | gst_base_parse_set_duration ()
void | gst_base_parse_set_average_bitrate ()
void | gst_base_parse_set_min_frame_size ()
void | gst_base_parse_set_passthrough ()
void | gst_base_parse_set_syncable ()
void | gst_base_parse_set_has_timing_info ()
void | gst_base_parse_set_frame_rate ()
void | gst_base_parse_set_latency ()
void | gst_base_parse_set_infer_ts ()
void | gst_base_parse_set_pts_interpolation ()
void | gst_base_parse_set_ts_at_offset ()
gboolean | gst_base_parse_convert_default ()
gboolean | gst_base_parse_add_index_entry ()
GstBaseParseFrame * | gst_base_parse_frame_new ()
void | gst_base_parse_frame_init ()
void | gst_base_parse_frame_free ()
GstFlowReturn | gst_base_parse_push_frame ()
GstFlowReturn | gst_base_parse_finish_frame ()
#define | GST_BASE_PARSE_DRAINING()
#define | GST_BASE_PARSE_LOST_SYNC()
#define | GST_BASE_PARSE_SINK_PAD()
#define | GST_BASE_PARSE_SRC_PAD()

## Properties

gboolean | disable-passthrough | Read / Write

## Types and Values

struct | GstBaseParse
struct | GstBaseParseClass
| GstBaseParseFrame
enum | GstBaseParseFrameFlags
#define | GST_BASE_PARSE_FLAG_DRAINING
#define | GST_BASE_PARSE_FLAG_LOST_SYNC
#define | GST_BASE_PARSE_FLOW_DROPPED

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBaseParse

## Includes

    #include <gst/base/gstbaseparse.h>

## Description

## Functions

### gst_base_parse_merge_tags ()

    void
    gst_base_parse_merge_tags (GstBaseParse *parse,
                               GstTagList *tags,
                               GstTagMergeMode mode);

### gst_base_parse_set_duration ()

    void
    gst_base_parse_set_duration (GstBaseParse *parse,
                                 GstFormat fmt,
                                 gint64 duration,
                                 gint interval);

### gst_base_parse_set_average_bitrate ()

    void
    gst_base_parse_set_average_bitrate (GstBaseParse *parse,
                                        guint bitrate);

### gst_base_parse_set_min_frame_size ()

    void
    gst_base_parse_set_min_frame_size (GstBaseParse *parse,
                                       guint min_size);

### gst_base_parse_set_passthrough ()

    void
    gst_base_parse_set_passthrough (GstBaseParse *parse,
                                    gboolean passthrough);

### gst_base_parse_set_syncable ()

    void
    gst_base_parse_set_syncable (GstBaseParse *parse,
                                 gboolean syncable);

### gst_base_parse_set_has_timing_info ()

    void
    gst_base_parse_set_has_timing_info (GstBaseParse *parse,
                                        gboolean has_timing);

### gst_base_parse_set_frame_rate ()

    void
    gst_base_parse_set_frame_rate (GstBaseParse *parse,
                                   guint fps_num,
                                   guint fps_den,
                                   guint lead_in,
                                   guint lead_out);

### gst_base_parse_set_latency ()

    void
    gst_base_parse_set_latency (GstBaseParse *parse,
                                GstClockTime min_latency,
                                GstClockTime max_latency);

### gst_base_parse_set_infer_ts ()

    void
    gst_base_parse_set_infer_ts (GstBaseParse *parse,
                                 gboolean infer_ts);

### gst_base_parse_set_pts_interpolation ()

    void
    gst_base_parse_set_pts_interpolation (GstBaseParse *parse,
                                          gboolean pts_interpolate);

### gst_base_parse_set_ts_at_offset ()

    void
    gst_base_parse_set_ts_at_offset (GstBaseParse *parse,
                                     gsize offset);

### gst_base_parse_convert_default ()

    gboolean
    gst_base_parse_convert_default (GstBaseParse *parse,
                                    GstFormat src_format,
                                    gint64 src_value,
                                    GstFormat dest_format,
                                    gint64 *dest_value);

### gst_base_parse_add_index_entry ()

    gboolean
    gst_base_parse_add_index_entry (GstBaseParse *parse,
                                    guint64 offset,
                                    GstClockTime ts,
                                    gboolean key,
                                    gboolean force);

### gst_base_parse_frame_new ()

    GstBaseParseFrame *
    gst_base_parse_frame_new (GstBuffer *buffer,
                              GstBaseParseFrameFlags flags,
                              gint overhead);

### gst_base_parse_frame_init ()

    void
    gst_base_parse_frame_init (GstBaseParseFrame *frame);

### gst_base_parse_frame_free ()

    void
    gst_base_parse_frame_free (GstBaseParseFrame *frame);

### gst_base_parse_push_frame ()

    GstFlowReturn
    gst_base_parse_push_frame (GstBaseParse *parse,
                               GstBaseParseFrame *frame);

### gst_base_parse_finish_frame ()

    GstFlowReturn
    gst_base_parse_finish_frame (GstBaseParse *parse,
                                 GstBaseParseFrame *frame,
                                 gint size);

### GST_BASE_PARSE_DRAINING()

    #define GST_BASE_PARSE_DRAINING(parse)  (!!(GST_BASE_PARSE_CAST(parse)->flags & GST_BASE_PARSE_FLAG_DRAINING))

### GST_BASE_PARSE_LOST_SYNC()

    #define GST_BASE_PARSE_LOST_SYNC(parse) (!!(GST_BASE_PARSE_CAST(parse)->flags & GST_BASE_PARSE_FLAG_LOST_SYNC))

### GST_BASE_PARSE_SINK_PAD()

    #define GST_BASE_PARSE_SINK_PAD(obj)    (GST_BASE_PARSE_CAST (obj)->sinkpad)

### GST_BASE_PARSE_SRC_PAD()

    #define GST_BASE_PARSE_SRC_PAD(obj)    (GST_BASE_PARSE_CAST (obj)->srcpad)

## Types and Values

### struct GstBaseParse

    struct GstBaseParse {
      GstElement     element;
    };

### struct GstBaseParseClass

    struct GstBaseParseClass {
      GstElementClass parent_class;

      /* virtual methods for subclasses */

      gboolean      (*start)              (GstBaseParse * parse);

      gboolean      (*stop)               (GstBaseParse * parse);

      gboolean      (*set_sink_caps)      (GstBaseParse * parse,
                                           GstCaps      * caps);

      GstFlowReturn (*handle_frame)       (GstBaseParse      * parse,
                                           GstBaseParseFrame * frame,
                                           gint              * skipsize);

      GstFlowReturn (*pre_push_frame)     (GstBaseParse      * parse,
                                           GstBaseParseFrame * frame);

      gboolean      (*convert)            (GstBaseParse * parse,
                                           GstFormat      src_format,
                                           gint64         src_value,
                                           GstFormat      dest_format,
                                           gint64       * dest_value);

      gboolean      (*sink_event)         (GstBaseParse * parse,
                                           GstEvent     * event);

      gboolean      (*src_event)          (GstBaseParse * parse,
                                           GstEvent     * event);

      GstCaps *     (*get_sink_caps)      (GstBaseParse * parse,
                                           GstCaps      * filter);

      GstFlowReturn (*detect)             (GstBaseParse * parse,
                                           GstBuffer    * buffer);

      gboolean      (*sink_query)         (GstBaseParse * parse,
                                           GstQuery     * query);

      gboolean      (*src_query)          (GstBaseParse * parse,
                                           GstQuery     * query);
    };

### GstBaseParseFrame

    typedef struct {
      GstBuffer * buffer;
      GstBuffer * out_buffer;
      guint       flags;
      guint64     offset;
      gint        overhead;
    } GstBaseParseFrame;

### enum GstBaseParseFrameFlags

#### Members

GST_BASE_PARSE_FRAME_FLAG_NONE |  |
GST_BASE_PARSE_FRAME_FLAG_NEW_FRAME |  |
GST_BASE_PARSE_FRAME_FLAG_NO_FRAME |  |
GST_BASE_PARSE_FRAME_FLAG_CLIP |  |
GST_BASE_PARSE_FRAME_FLAG_DROP |  |
GST_BASE_PARSE_FRAME_FLAG_QUEUE |  |

### GST_BASE_PARSE_FLAG_DRAINING

    #define GST_BASE_PARSE_FLAG_DRAINING  (1 << 1)

### GST_BASE_PARSE_FLAG_LOST_SYNC

    #define GST_BASE_PARSE_FLAG_LOST_SYNC (1 << 0)

### GST_BASE_PARSE_FLOW_DROPPED

    #define GST_BASE_PARSE_FLOW_DROPPED     GST_FLOW_CUSTOM_SUCCESS

## Property Details

### The `“disable-passthrough”` property

      “disable-passthrough”      gboolean

Force processing (disables passthrough).

Flags: Read / Write

Default value: FALSE