*
* 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., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
GstProxyPad* gst_proxy_pad_get_internal (GstProxyPad *pad);
-gboolean gst_proxy_pad_event_default (GstPad *pad, GstEvent *event);
-gboolean gst_proxy_pad_query_default (GstPad *pad, GstQuery *query);
-GstIterator* gst_proxy_pad_iterate_internal_links_default (GstPad *pad);
-GstFlowReturn gst_proxy_pad_chain_default (GstPad *pad, GstBuffer *buffer);
-GstFlowReturn gst_proxy_pad_chain_list_default (GstPad *pad, GstBufferList *list);
-GstFlowReturn gst_proxy_pad_getrange_default (GstPad *pad, guint64 offset, guint size, GstBuffer **buffer);
-void gst_proxy_pad_unlink_default (GstPad * pad);
+GstIterator* gst_proxy_pad_iterate_internal_links_default (GstPad *pad, GstObject *parent) G_GNUC_MALLOC;
+GstFlowReturn gst_proxy_pad_chain_default (GstPad *pad, GstObject *parent,
+ GstBuffer *buffer);
+GstFlowReturn gst_proxy_pad_chain_list_default (GstPad *pad, GstObject *parent,
+ GstBufferList *list);
+GstFlowReturn gst_proxy_pad_getrange_default (GstPad *pad, GstObject *parent,
+ guint64 offset, guint size,
+ GstBuffer **buffer);
#define GST_TYPE_GHOST_PAD (gst_ghost_pad_get_type ())
#define GST_IS_GHOST_PAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GHOST_PAD))
GType gst_ghost_pad_get_type (void);
-GstPad* gst_ghost_pad_new (const gchar *name, GstPad *target);
-GstPad* gst_ghost_pad_new_no_target (const gchar *name, GstPadDirection dir);
+GstPad* gst_ghost_pad_new (const gchar *name, GstPad *target) G_GNUC_MALLOC;
+GstPad* gst_ghost_pad_new_no_target (const gchar *name, GstPadDirection dir) G_GNUC_MALLOC;
-GstPad* gst_ghost_pad_new_from_template (const gchar *name, GstPad * target, GstPadTemplate * templ);
-GstPad* gst_ghost_pad_new_no_target_from_template (const gchar *name, GstPadTemplate * templ);
+GstPad* gst_ghost_pad_new_from_template (const gchar *name, GstPad * target, GstPadTemplate * templ) G_GNUC_MALLOC;
+GstPad* gst_ghost_pad_new_no_target_from_template (const gchar *name, GstPadTemplate * templ) G_GNUC_MALLOC;
GstPad* gst_ghost_pad_get_target (GstGhostPad *gpad);
gboolean gst_ghost_pad_set_target (GstGhostPad *gpad, GstPad *newtarget);
gboolean gst_ghost_pad_construct (GstGhostPad *gpad);
-void gst_ghost_pad_unlink_default (GstPad * pad);
-GstPadLinkReturn gst_ghost_pad_link_default (GstPad * pad, GstPad * peer);
-gboolean gst_ghost_pad_activate_pull_default (GstPad * pad, gboolean active);
-gboolean gst_ghost_pad_activate_push_default (GstPad * pad, gboolean active);
+gboolean gst_ghost_pad_activate_mode_default (GstPad * pad, GstObject * parent,
+ GstPadMode mode, gboolean active);
-gboolean gst_ghost_pad_internal_activate_push_default (GstPad * pad, gboolean active);
-gboolean gst_ghost_pad_internal_activate_pull_default (GstPad * pad, gboolean active);
+gboolean gst_ghost_pad_internal_activate_mode_default (GstPad * pad, GstObject * parent,
+ GstPadMode mode, gboolean active);
+
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstGhostPad, gst_object_unref)
+#endif
+
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstProxyPad, gst_object_unref)
+#endif
G_END_DECLS