aggregator: Assert if the sink/src pad type that is to be used is not a GstAggregator...
[platform/upstream/gstreamer.git] / gst / gstghostpad.h
index cb09031..98a364d 100644 (file)
@@ -57,16 +57,23 @@ struct _GstProxyPadClass
   gpointer _gst_reserved[1];
 };
 
-GType gst_proxy_pad_get_type (void);
+GST_API
+GType               gst_proxy_pad_get_type (void);
 
-GstProxyPad*     gst_proxy_pad_get_internal     (GstProxyPad *pad);
+GST_API
+GstProxyPad *       gst_proxy_pad_get_internal (GstProxyPad *pad);
 
 
+GST_API
 GstIterator*        gst_proxy_pad_iterate_internal_links_default (GstPad *pad, GstObject *parent) G_GNUC_MALLOC;
+
+GST_API
 GstFlowReturn       gst_proxy_pad_chain_default                  (GstPad *pad, GstObject *parent,
                                                                   GstBuffer *buffer);
+GST_API
 GstFlowReturn       gst_proxy_pad_chain_list_default             (GstPad *pad, GstObject *parent,
                                                                   GstBufferList *list);
+GST_API
 GstFlowReturn       gst_proxy_pad_getrange_default               (GstPad *pad, GstObject *parent,
                                                                   guint64 offset, guint size,
                                                                   GstBuffer **buffer);
@@ -104,25 +111,45 @@ struct _GstGhostPadClass
 };
 
 
+GST_API
 GType            gst_ghost_pad_get_type          (void);
 
+GST_API
 GstPad*          gst_ghost_pad_new               (const gchar *name, GstPad *target) G_GNUC_MALLOC;
+
+GST_API
 GstPad*          gst_ghost_pad_new_no_target     (const gchar *name, GstPadDirection dir) G_GNUC_MALLOC;
 
+GST_API
 GstPad*          gst_ghost_pad_new_from_template (const gchar *name, GstPad * target, GstPadTemplate * templ) G_GNUC_MALLOC;
+
+GST_API
 GstPad*          gst_ghost_pad_new_no_target_from_template (const gchar *name, GstPadTemplate * templ) G_GNUC_MALLOC;
 
+GST_API
 GstPad*          gst_ghost_pad_get_target        (GstGhostPad *gpad);
+
+GST_API
 gboolean         gst_ghost_pad_set_target        (GstGhostPad *gpad, GstPad *newtarget);
 
+GST_API
 gboolean         gst_ghost_pad_construct         (GstGhostPad *gpad);
 
+GST_API
 gboolean         gst_ghost_pad_activate_mode_default  (GstPad * pad, GstObject * parent,
                                                        GstPadMode mode, gboolean active);
-
+GST_API
 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
 
 #endif /* __GST_GHOST_PAD_H__ */