tee: Check for the removed pad flag also in the slow pushing path
[platform/upstream/gstreamer.git] / gst / gsttypefindfactory.h
index 740e007..d0a7e1d 100644 (file)
@@ -15,8 +15,8 @@
  *
  * 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.
  */
 
 #ifndef __GST_TYPE_FIND_FACTORY_H__
@@ -36,44 +36,38 @@ G_BEGIN_DECLS
 #define GST_IS_TYPE_FIND_FACTORY_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TYPE_FIND_FACTORY))
 #define GST_TYPE_FIND_FACTORY_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_TYPE_FIND_FACTORY, GstTypeFindFactoryClass))
 
-typedef struct _GstTypeFindFactory GstTypeFindFactory;
-typedef struct _GstTypeFindFactoryClass GstTypeFindFactoryClass;
-
 /**
  * GstTypeFindFactory:
  *
- * Object that stores information about a typefind function.
+ * Opaque object that stores information about a typefind function.
  */
-struct _GstTypeFindFactory {
-  GstPluginFeature             feature;
-  /* <private> */
-
-  GstTypeFindFunction          function;
-  gchar **                     extensions;
-  GstCaps *                    caps; /* FIXME: not yet saved in registry */
-  
-  gpointer                     user_data;
-    
-  gpointer _gst_reserved[GST_PADDING];
-};
-                                                                                                                                                                         
-struct _GstTypeFindFactoryClass {
-  GstPluginFeatureClass                parent;
-  /* <private> */
-    
-  gpointer _gst_reserved[GST_PADDING];
-};
+typedef struct _GstTypeFindFactory GstTypeFindFactory;
+typedef struct _GstTypeFindFactoryClass GstTypeFindFactoryClass;
 
 /* typefinding interface */
 
-GType           gst_type_find_factory_get_type         (void);
-    
-GList *                gst_type_find_factory_get_list          (void);
+GST_API
+GType           gst_type_find_factory_get_type          (void);
+
+GST_API
+GList *         gst_type_find_factory_get_list          (void);
+
+GST_API
+const gchar * const * gst_type_find_factory_get_extensions (GstTypeFindFactory *factory);
+
+GST_API
+GstCaps *       gst_type_find_factory_get_caps          (GstTypeFindFactory *factory);
+
+GST_API
+gboolean        gst_type_find_factory_has_function      (GstTypeFindFactory *factory);
+
+GST_API
+void            gst_type_find_factory_call_function     (GstTypeFindFactory *factory,
+                                                         GstTypeFind *find);
 
-gchar **       gst_type_find_factory_get_extensions    (GstTypeFindFactory *factory);
-GstCaps *      gst_type_find_factory_get_caps          (GstTypeFindFactory *factory);
-void           gst_type_find_factory_call_function     (GstTypeFindFactory *factory,
-                                                        GstTypeFind *find);
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstTypeFindFactory, gst_object_unref)
+#endif
 
 G_END_DECLS