summaryrefslogtreecommitdiff
path: root/gst/gstpad.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst/gstpad.h')
-rw-r--r--gst/gstpad.h71
1 files changed, 10 insertions, 61 deletions
diff --git a/gst/gstpad.h b/gst/gstpad.h
index 1fda5c9756..3eaa786148 100644
--- a/gst/gstpad.h
+++ b/gst/gstpad.h
@@ -27,6 +27,7 @@
#include <gst/gstconfig.h>
#include <gst/gstobject.h>
+#include <gst/gstaction.h>
#include <gst/gstbuffer.h>
#include <gst/gstcaps.h>
#include <gst/gstevent.h>
@@ -71,14 +72,8 @@ GST_EXPORT GType _gst_ghost_pad_type;
#define GST_GHOST_PAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GHOST_PAD, GstGhostPadClass))
-/*typedef struct _GstPad GstPad; */
-/*typedef struct _GstPadClass GstPadClass;*/
-typedef struct _GstRealPad GstRealPad;
-typedef struct _GstRealPadClass GstRealPadClass;
typedef struct _GstGhostPad GstGhostPad;
typedef struct _GstGhostPadClass GstGhostPadClass;
-/*typedef struct _GstPadTemplate GstPadTemplate;*/
-/*typedef struct _GstPadTemplateClass GstPadTemplateClass;*/
typedef struct _GstStaticPadTemplate GstStaticPadTemplate;
typedef struct _GstPadLink GstPadLink;
@@ -119,7 +114,6 @@ typedef gboolean (*GstPadQueryFunction) (GstPad *pad, GstQueryType type,
GstFormat *format, gint64 *value);
typedef GList* (*GstPadIntLinkFunction) (GstPad *pad);
typedef const GstFormat* (*GstPadFormatsFunction) (GstPad *pad);
-typedef const GstEventMask* (*GstPadEventMaskFunction) (GstPad *pad);
typedef const GstQueryType* (*GstPadQueryTypeFunction) (GstPad *pad);
typedef GstPadLinkReturn (*GstPadLinkFunction) (GstPad *pad, const GstCaps *caps);
@@ -137,8 +131,7 @@ typedef enum {
} GstPadDirection;
typedef enum {
- GST_PAD_DISABLED = GST_OBJECT_FLAG_LAST,
- GST_PAD_NEGOTIATING,
+ GST_PAD_NEGOTIATING = GST_OBJECT_FLAG_LAST,
GST_PAD_DISPATCHING,
GST_PAD_FLAG_LAST = GST_OBJECT_FLAG_LAST + 4
@@ -185,13 +178,8 @@ struct _GstRealPad {
gpointer sched_private;
/* data transport functions */
- GstPadChainFunction chainfunc;
- GstPadChainFunction chainhandler;
- GstPadGetFunction getfunc;
- GstPadGetFunction gethandler;
- GstPadEventFunction eventfunc;
- GstPadEventFunction eventhandler;
- GstPadEventMaskFunction eventmaskfunc;
+ GstAction * action;
+ GstPadEventFunction eventhandler;
GList *ghostpads;
@@ -250,18 +238,10 @@ struct _GstGhostPadClass {
#define GST_RPAD_CAPS(pad) (((GstRealPad *)(pad))->caps)
#define GST_RPAD_APPFILTER(pad) (((GstRealPad *)(pad))->appfilter)
#define GST_RPAD_PEER(pad) (((GstRealPad *)(pad))->peer)
-#define GST_RPAD_CHAINFUNC(pad) (((GstRealPad *)(pad))->chainfunc)
-#define GST_RPAD_CHAINHANDLER(pad) (((GstRealPad *)(pad))->chainhandler)
-#define GST_RPAD_GETFUNC(pad) (((GstRealPad *)(pad))->getfunc)
-#define GST_RPAD_GETHANDLER(pad) (((GstRealPad *)(pad))->gethandler)
-#define GST_RPAD_EVENTFUNC(pad) (((GstRealPad *)(pad))->eventfunc)
#define GST_RPAD_EVENTHANDLER(pad) (((GstRealPad *)(pad))->eventhandler)
#define GST_RPAD_CONVERTFUNC(pad) (((GstRealPad *)(pad))->convertfunc)
#define GST_RPAD_QUERYFUNC(pad) (((GstRealPad *)(pad))->queryfunc)
#define GST_RPAD_INTLINKFUNC(pad) (((GstRealPad *)(pad))->intlinkfunc)
-#define GST_RPAD_FORMATSFUNC(pad) (((GstRealPad *)(pad))->formatsfunc)
-#define GST_RPAD_QUERYTYPEFUNC(pad) (((GstRealPad *)(pad))->querytypefunc)
-#define GST_RPAD_EVENTMASKFUNC(pad) (((GstRealPad *)(pad))->eventmaskfunc)
#define GST_RPAD_LINKFUNC(pad) (((GstRealPad *)(pad))->linkfunc)
#define GST_RPAD_UNLINKFUNC(pad) (((GstRealPad *)(pad))->unlinkfunc)
@@ -282,12 +262,8 @@ struct _GstGhostPadClass {
/* Some check functions (unused?) */
#define GST_PAD_IS_LINKED(pad) (GST_PAD_PEER(pad) != NULL)
-#define GST_PAD_IS_ACTIVE(pad) (!GST_FLAG_IS_SET(GST_PAD_REALIZE(pad), GST_PAD_DISABLED))
#define GST_PAD_IS_NEGOTIATING(pad) (GST_FLAG_IS_SET (pad, GST_PAD_NEGOTIATING))
#define GST_PAD_IS_DISPATCHING(pad) (GST_FLAG_IS_SET (pad, GST_PAD_DISPATCHING))
-#define GST_PAD_IS_USABLE(pad) (GST_PAD_IS_LINKED (pad) && \
- GST_PAD_IS_ACTIVE(pad) && GST_PAD_IS_ACTIVE(GST_PAD_PEER (pad)))
-#define GST_PAD_CAN_PULL(pad) (GST_IS_REAL_PAD(pad) && GST_REAL_PAD(pad)->gethandler != NULL)
#define GST_PAD_IS_SRC(pad) (GST_PAD_DIRECTION(pad) == GST_PAD_SRC)
#define GST_PAD_IS_SINK(pad) (GST_PAD_DIRECTION(pad) == GST_PAD_SINK)
@@ -368,9 +344,9 @@ G_CONST_RETURN gchar* gst_pad_get_name (GstPad *pad);
GstPadDirection gst_pad_get_direction (GstPad *pad);
-void gst_pad_set_active (GstPad *pad, gboolean active);
-void gst_pad_set_active_recursive (GstPad *pad, gboolean active);
-gboolean gst_pad_is_active (GstPad *pad);
+void gst_real_pad_set_active (GstRealPad *pad, gboolean active);
+gboolean gst_real_pad_is_active (GstRealPad *pad);
+void gst_real_pad_set_initially_active (GstRealPad *pad, gboolean active);
void gst_pad_set_element_private (GstPad *pad, gpointer priv);
gpointer gst_pad_get_element_private (GstPad *pad);
@@ -391,14 +367,9 @@ void gst_pad_set_bufferalloc_function (GstPad *pad, GstPadBufferAllocFunction
GstBuffer* gst_pad_alloc_buffer (GstPad *pad, guint64 offset, gint size);
/* data passing setup functions */
-void gst_pad_set_chain_function (GstPad *pad, GstPadChainFunction chain);
-void gst_pad_set_get_function (GstPad *pad, GstPadGetFunction get);
+void gst_src_pad_set_action_handler (GstPad *pad, GstActionSrcPadFunc func);
+void gst_sink_pad_set_action_handler (GstPad *pad, GstActionSinkPadFunc func);
void gst_pad_set_event_function (GstPad *pad, GstPadEventFunction event);
-void gst_pad_set_event_mask_function (GstPad *pad, GstPadEventMaskFunction mask_func);
-G_CONST_RETURN GstEventMask*
- gst_pad_get_event_masks (GstPad *pad);
-G_CONST_RETURN GstEventMask*
- gst_pad_get_event_masks_default (GstPad *pad);
/* pad links */
void gst_pad_set_link_function (GstPad *pad, GstPadLinkFunction link);
@@ -446,27 +417,10 @@ gboolean gst_pad_recover_caps_error (GstPad *pad, const GstCaps *allowed);
/* data passing functions */
void gst_pad_push (GstPad *pad, GstData *data);
-GstData* gst_pad_pull (GstPad *pad);
gboolean gst_pad_send_event (GstPad *pad, GstEvent *event);
gboolean gst_pad_event_default (GstPad *pad, GstEvent *event);
-#ifndef GST_DISABLE_DEPRECATED
-GstPad* gst_pad_selectv (GList *padlist);
-GstPad* gst_pad_select (GstPad *pad, ...);
-GstPad* gst_pad_select_valist (GstPad *pad, va_list varargs);
-#endif
-/* FIXME 0.9: rename to _select? Otherwise rename SchedulerClass pointer */
-GstData * gst_pad_collectv (GstPad **selected, const GList *padlist);
-GstData * gst_pad_collect (GstPad **selected, GstPad *pad, ...);
-GstData * gst_pad_collect_valist (GstPad **selected, GstPad *pad, va_list varargs);
-
-/* convert/query/format functions */
-void gst_pad_set_formats_function (GstPad *pad,
- GstPadFormatsFunction formats);
-G_CONST_RETURN GstFormat*
- gst_pad_get_formats (GstPad *pad);
-G_CONST_RETURN GstFormat*
- gst_pad_get_formats_default (GstPad *pad);
+/* convert/query functions */
void gst_pad_set_convert_function (GstPad *pad, GstPadConvertFunction convert);
gboolean gst_pad_convert (GstPad *pad,
GstFormat src_format, gint64 src_value,
@@ -476,11 +430,6 @@ gboolean gst_pad_convert_default (GstPad *pad,
GstFormat *dest_format, gint64 *dest_value);
void gst_pad_set_query_function (GstPad *pad, GstPadQueryFunction query);
-void gst_pad_set_query_type_function (GstPad *pad, GstPadQueryTypeFunction type_func);
-G_CONST_RETURN GstQueryType*
- gst_pad_get_query_types (GstPad *pad);
-G_CONST_RETURN GstQueryType*
- gst_pad_get_query_types_default (GstPad *pad);
gboolean gst_pad_query (GstPad *pad, GstQueryType type,
GstFormat *format, gint64 *value);
gboolean gst_pad_query_default (GstPad *pad, GstQueryType type,