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
7bbbf16
..
fb15c40
100644
(file)
--- a/
gst/gstpadtemplate.h
+++ b/
gst/gstpadtemplate.h
@@
-16,8
+16,8
@@
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 5
9 Temple Place - Suite 330
,
- * Boston, MA 0211
1-1307
, USA.
+ * Free Software Foundation, Inc., 5
1 Franklin St, Fifth Floor
,
+ * Boston, MA 0211
0-1301
, USA.
*/
*/
@@
-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.
*
@@
-126,7
+136,13
@@
struct _GstPadTemplate {
GstPadPresence presence;
GstCaps *caps;
GstPadPresence presence;
GstCaps *caps;
- gpointer _gst_reserved[GST_PADDING];
+ /*< private >*/
+ union {
+ gpointer _gst_reserved[GST_PADDING];
+ struct {
+ GType gtype;
+ } abi;
+ } ABI;
};
struct _GstPadTemplateClass {
};
struct _GstPadTemplateClass {
@@
-135,6
+151,7
@@
struct _GstPadTemplateClass {
/* signal callbacks */
void (*pad_created) (GstPadTemplate *templ, GstPad *pad);
/* signal callbacks */
void (*pad_created) (GstPadTemplate *templ, GstPad *pad);
+ /*< private >*/
gpointer _gst_reserved[GST_PADDING];
};
gpointer _gst_reserved[GST_PADDING];
};
@@
-161,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) \
{ \
@@
-173,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__ */