gstfunnel: avoid access of freed pad
[platform/upstream/gstreamer.git] / gst / gstghostpad.h
index 96e5c5a..6aa4d26 100644 (file)
@@ -66,7 +66,7 @@ gboolean            gst_proxy_pad_event_default                  (GstPad *pad, G
                                                                   GstEvent *event);
 gboolean            gst_proxy_pad_query_default                  (GstPad *pad, GstObject *parent,
                                                                   GstQuery *query);
-GstIterator*        gst_proxy_pad_iterate_internal_links_default (GstPad *pad, GstObject *parent);
+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,
@@ -111,11 +111,11 @@ struct _GstGhostPadClass
 
 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);
@@ -125,13 +125,11 @@ 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, GstObject * parent, gboolean active);
-gboolean         gst_ghost_pad_activate_push_default  (GstPad * pad, GstObject * parent, 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, GstObject * parent,
-                                                                 gboolean active);
-gboolean         gst_ghost_pad_internal_activate_pull_default   (GstPad * pad, GstObject * parent,
-                                                                 gboolean active);
+gboolean         gst_ghost_pad_internal_activate_mode_default   (GstPad * pad, GstObject * parent,
+                                                                 GstPadMode mode, gboolean active);
 
 G_END_DECLS