Gstreamer 关键数据结构
typedef struct _GstStaticPadTemplate GstStaticPadTemplate;
/**
* GstStaticPadTemplate:
* @name_template: the name of the template
* @direction: the direction of the template
* @presence: the presence of the template
* @static_caps: the caps of the template.
*
* Structure describing the #GstStaticPadTemplate.
*/
struct _GstStaticPadTemplate {
const gchar *name_template;
GstPadDirection direction;
GstPadPresence presence;
GstStaticCaps static_caps;
};
/**
* GstPadDirection:
* @GST_PAD_UNKNOWN: direction is unknown.
* @GST_PAD_SRC: the pad is a source pad.
* @GST_PAD_SINK: the pad is a sink pad.
*
* The direction of a pad.
*/
typedef enum {
GST_PAD_UNKNOWN,
GST_PAD_SRC,
GST_PAD_SINK
} GstPadDirection;
/**
* GstPadPresence:
* @GST_PAD_ALWAYS: the pad is always available
* @GST_PAD_SOMETIMES: the pad will become available depending on the media stream
* @GST_PAD_REQUEST: the pad is only available on request with
* gst_element_request_pad().
*
* Indicates when this pad will become available.
*/
typedef enum {
GST_PAD_ALWAYS,
GST_PAD_SOMETIMES,
GST_PAD_REQUEST
} GstPadPresence;
typedef struct _GstStaticCaps GstStaticCaps;
/**
* GstStaticCaps:
* @caps: the cached #GstCaps
* @string: a string describing a caps
*
* Datastructure to initialize #GstCaps from a string description usually
* used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to
* instantiate a #GstCaps.
*/
struct _GstStaticCaps {
/*< public >*/
GstCaps *caps;
const char *string;
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
};
typedef struct _GstCaps GstCaps;
/**
* GstCaps:
* @mini_object: the parent type
*
* Object describing media types.
*/
struct _GstCaps {
GstMiniObject mini_object;
};