bin: Use the new group-id field of the stream-start message for stream-start message...
[platform/upstream/gstreamer.git] / gst / gstelementfactory.h
index b2dff92..4641457 100644 (file)
  *
  * 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_ELEMENT_FACTORY_H__
 #define __GST_ELEMENT_FACTORY_H__
 
+/**
+ * GstElementFactory:
+ *
+ * The opaque #GstElementFactory data structure.
+ */
 typedef struct _GstElementFactory GstElementFactory;
 typedef struct _GstElementFactoryClass GstElementFactoryClass;
 
 #include <gst/gstconfig.h>
 #include <gst/gstelement.h>
-#include <gst/gstobject.h>
+#include <gst/gstpad.h>
 #include <gst/gstplugin.h>
 #include <gst/gstpluginfeature.h>
-#include <gst/gstpadtemplate.h>
-#include <gst/gstiterator.h>
 #include <gst/gsturi.h>
 
 G_BEGIN_DECLS
@@ -47,37 +50,6 @@ G_BEGIN_DECLS
 #define GST_IS_ELEMENT_FACTORY_CLASS(klass)     (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT_FACTORY))
 #define GST_ELEMENT_FACTORY_CAST(obj)           ((GstElementFactory *)(obj))
 
-/**
- * GstElementFactory:
- *
- * The opaque #GstElementFactory data structure.
- */
-struct _GstElementFactory {
-  GstPluginFeature      parent;
-
-  GType                 type;                   /* unique GType of element or 0 if not loaded */
-
-  gpointer              metadata;
-
-  GList *               staticpadtemplates;     /* GstStaticPadTemplate list */
-  guint                 numpadtemplates;
-
-  /* URI interface stuff */
-  GstURIType            uri_type;
-  gchar **              uri_protocols;
-
-  GList *               interfaces;             /* interface type names this element implements */
-
-  /*< private >*/
-  gpointer _gst_reserved[GST_PADDING];
-};
-
-struct _GstElementFactoryClass {
-  GstPluginFeatureClass parent_class;
-
-  gpointer _gst_reserved[GST_PADDING];
-};
-
 GType                   gst_element_factory_get_type            (void);
 
 GstElementFactory *     gst_element_factory_find                (const gchar *name);
@@ -85,6 +57,7 @@ GstElementFactory *     gst_element_factory_find                (const gchar *na
 GType                   gst_element_factory_get_element_type    (GstElementFactory *factory);
 
 const gchar *           gst_element_factory_get_metadata        (GstElementFactory *factory, const gchar *key);
+gchar **                gst_element_factory_get_metadata_keys   (GstElementFactory *factory);
 
 guint                   gst_element_factory_get_num_pad_templates (GstElementFactory *factory);
 const GList *           gst_element_factory_get_static_pad_templates (GstElementFactory *factory);
@@ -128,8 +101,6 @@ gboolean                gst_element_register                    (GstPlugin *plug
  *
  * If one or more of the MEDIA types are specified, then only elements
  * matching the specified media types will be selected.
- *
- * Since: 0.10.31
  */
 
 typedef guint64 GstElementFactoryListType;
@@ -158,7 +129,8 @@ typedef guint64 GstElementFactoryListType;
  *
  * Elements of any of the defined GST_ELEMENT_FACTORY_LIST types
  *
- * Since: 0.10.31
+ * Value: 562949953421311
+ * Type: GstElementFactoryListType
  */
 #define  GST_ELEMENT_FACTORY_TYPE_ANY ((G_GUINT64_CONSTANT (1) << 49) - 1)
 
@@ -171,7 +143,8 @@ typedef guint64 GstElementFactoryListType;
  * media types. If you wish to do this, simply don't specify any
  * GST_ELEMENT_FACTORY_TYPE_MEDIA flag.
  *
- * Since: 0.10.31
+ * Value: 18446462598732840960
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY (~G_GUINT64_CONSTANT (0) << 48)
 
@@ -180,7 +153,8 @@ typedef guint64 GstElementFactoryListType;
  *
  * All encoders handling video or image media types
  *
- * Since: 0.10.31
+ * Value: 2814749767106562
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER (GST_ELEMENT_FACTORY_TYPE_ENCODER | GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO | GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)
 
@@ -189,7 +163,8 @@ typedef guint64 GstElementFactoryListType;
  *
  * All encoders handling audio media types
  *
- * Since: 0.10.31
+ * Value: 1125899906842626
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER (GST_ELEMENT_FACTORY_TYPE_ENCODER | GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO)
 
@@ -198,7 +173,8 @@ typedef guint64 GstElementFactoryListType;
  *
  * All sinks handling audio, video or image media types
  *
- * Since: 0.10.31
+ * Value: 3940649673949188
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS (GST_ELEMENT_FACTORY_TYPE_SINK | GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO | GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO | GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE)
 
@@ -207,7 +183,8 @@ typedef guint64 GstElementFactoryListType;
  *
  * All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders)
  *
- * Since: 0.10.31
+ * Value: 353
+ * Type: GstElementFactoryListType
  */
 #define GST_ELEMENT_FACTORY_TYPE_DECODABLE \
   (GST_ELEMENT_FACTORY_TYPE_DECODER | GST_ELEMENT_FACTORY_TYPE_DEMUXER | GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER | GST_ELEMENT_FACTORY_TYPE_PARSER)