projects
/
platform
/
upstream
/
gstreamer.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
taglist: Remove (scope call) annotation from gst_tag_register()
[platform/upstream/gstreamer.git]
/
gst
/
gstpadtemplate.h
diff --git
a/gst/gstpadtemplate.h
b/gst/gstpadtemplate.h
index
2700e9b
..
fb15c40
100644
(file)
--- a/
gst/gstpadtemplate.h
+++ b/
gst/gstpadtemplate.h
@@
-52,7
+52,7
@@
G_BEGIN_DECLS
* @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_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_
get_
request_pad().
+ * gst_element_request_pad().
*
* Indicates when this pad will become available.
*/
*
* Indicates when this pad will become available.
*/
@@
-95,6
+95,16
@@
typedef enum {
#define GST_PAD_TEMPLATE_CAPS(templ) (((GstPadTemplate *)(templ))->caps)
/**
#define GST_PAD_TEMPLATE_CAPS(templ) (((GstPadTemplate *)(templ))->caps)
/**
+ * GST_PAD_TEMPLATE_GTYPE:
+ * @templ: the template to query
+ *
+ * Get the #GType of the padtemplate
+ *
+ * Since: 1.14
+ */
+#define GST_PAD_TEMPLATE_GTYPE(templ) (((GstPadTemplate *)(templ))->ABI.abi.gtype)
+
+/**
* GstPadTemplateFlags:
* @GST_PAD_TEMPLATE_FLAG_LAST: first flag that can be used by subclasses.
*
* GstPadTemplateFlags:
* @GST_PAD_TEMPLATE_FLAG_LAST: first flag that can be used by subclasses.
*
@@
-127,7
+137,12
@@
struct _GstPadTemplate {
GstCaps *caps;
/*< private >*/
GstCaps *caps;
/*< private >*/
- gpointer _gst_reserved[GST_PADDING];
+ union {
+ gpointer _gst_reserved[GST_PADDING];
+ struct {
+ GType gtype;
+ } abi;
+ } ABI;
};
struct _GstPadTemplateClass {
};
struct _GstPadTemplateClass {
@@
-163,8
+178,14
@@
struct _GstStaticPadTemplate {
* @pres: the GstPadPresence of the pad
* @caps: the GstStaticCaps of the pad
*
* @pres: the GstPadPresence of the pad
* @caps: the GstStaticCaps of the pad
*
- * Convenience macro to fill the values of a GstStaticPadTemplate
+ * Convenience macro to fill the values of a
#
GstStaticPadTemplate
* structure.
* structure.
+ * Example:
+ * |[<!-- language="C" -->
+ * static GstStaticPadTemplate my_src_template = \
+ * GST_STATIC_PAD_TEMPLATE("src", GST_PAD_SRC, GST_PAD_ALWAYS,
+ * GST_STATIC_CAPS_ANY);
+ * ]|
*/
#define GST_STATIC_PAD_TEMPLATE(padname, dir, pres, caps) \
{ \
*/
#define GST_STATIC_PAD_TEMPLATE(padname, dir, pres, caps) \
{ \
@@
-175,19
+196,42
@@
struct _GstStaticPadTemplate {
}
/* templates and factories */
}
/* templates and factories */
+
+GST_API
GType gst_pad_template_get_type (void);
GType gst_pad_template_get_type (void);
+
+GST_API
GType gst_static_pad_template_get_type (void);
GType gst_static_pad_template_get_type (void);
+GST_API
GstPadTemplate* gst_pad_template_new (const gchar *name_template,
GstPadDirection direction, GstPadPresence presence,
GstCaps *caps) G_GNUC_MALLOC;
GstPadTemplate* gst_pad_template_new (const gchar *name_template,
GstPadDirection direction, GstPadPresence presence,
GstCaps *caps) G_GNUC_MALLOC;
-
+GST_API
+GstPadTemplate* gst_pad_template_new_with_gtype (const gchar *name_template,
+ GstPadDirection direction, GstPadPresence presence,
+ GstCaps *caps, GType pad_type) G_GNUC_MALLOC;
+GST_API
GstPadTemplate * gst_static_pad_template_get (GstStaticPadTemplate *pad_template);
GstPadTemplate * gst_static_pad_template_get (GstStaticPadTemplate *pad_template);
+
+GST_API
+GstPadTemplate * gst_pad_template_new_from_static_pad_template_with_gtype (
+ GstStaticPadTemplate * pad_template,
+ GType pad_type);
+
+GST_API
GstCaps* gst_static_pad_template_get_caps (GstStaticPadTemplate *templ);
GstCaps* gst_static_pad_template_get_caps (GstStaticPadTemplate *templ);
+
+GST_API
GstCaps* gst_pad_template_get_caps (GstPadTemplate *templ);
GstCaps* gst_pad_template_get_caps (GstPadTemplate *templ);
+GST_API
void gst_pad_template_pad_created (GstPadTemplate * templ, GstPad * pad);
void gst_pad_template_pad_created (GstPadTemplate * templ, GstPad * pad);
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstPadTemplate, gst_object_unref)
+#endif
+
G_END_DECLS
#endif /* __GST_PAD_TEMPLATE_H__ */
G_END_DECLS
#endif /* __GST_PAD_TEMPLATE_H__ */