#define GST_PLUGIN_FEATURE_CAST(obj) ((GstPluginFeature*)(obj))
/**
- * GST_PLUGIN_FEATURE_NAME:
- * @feature: The feature to query
+ * GstPluginFeature:
*
- * Get the name of the feature
+ * Opaque #GstPluginFeature structure.
*/
-#define GST_PLUGIN_FEATURE_NAME(feature) (GST_PLUGIN_FEATURE (feature)->name)
-
typedef struct _GstPluginFeature GstPluginFeature;
typedef struct _GstPluginFeatureClass GstPluginFeatureClass;
/**
* GstRank:
* @GST_RANK_NONE: will be chosen last or not at all
- * @GST_RANK_MARGINAL: unlikly to be chosen
+ * @GST_RANK_MARGINAL: unlikely to be chosen
* @GST_RANK_SECONDARY: likely to be chosen
* @GST_RANK_PRIMARY: will be chosen first
*
} GstRank;
/**
- * GstPluginFeature:
+ * gst_plugin_feature_get_name:
+ * @feature: a #GstPluginFeature to get the name of @feature.
+ *
+ * Returns the name of @feature.
+ * For a nameless plugin feature, this returns NULL.
+ *
+ * Returns: (transfer none): the name of @feature. MT safe.
*
- * Opaque #GstPluginFeature structure.
*/
-struct _GstPluginFeature {
- GstObject object;
-
- /*< private >*/
- gboolean loaded;
- gchar *name; /* FIXME-0.11: remove variable, we use GstObject:name */
- guint rank;
-
- const gchar *plugin_name;
- GstPlugin *plugin; /* weak ref */
-
- /*< private >*/
- gpointer _gst_reserved[GST_PADDING - 1];
-};
-
-struct _GstPluginFeatureClass {
- GstObjectClass parent_class;
-
- /*< private >*/
- gpointer _gst_reserved[GST_PADDING];
-};
+#define gst_plugin_feature_get_name(feature) GST_OBJECT_NAME(feature)
/**
- * GstTypeNameData:
- * @name: a name
- * @type: a GType
+ * gst_plugin_feature_set_name:
+ * @feature: a #GstPluginFeature to set the name of.
+ * @name: the new name
*
- * Structure used for filtering based on @name and @type.
+ * Sets the name of the plugin feature, getting rid of the old name if there was one.
*/
-typedef struct {
- const gchar *name;
- GType type;
-} GstTypeNameData;
+#define gst_plugin_feature_set_name(feature,name) gst_object_set_name(GST_OBJECT_CAST(feature),name)
/**
* GstPluginFeatureFilter:
GstPluginFeature *
gst_plugin_feature_load (GstPluginFeature *feature);
-gboolean gst_plugin_feature_type_name_filter (GstPluginFeature *feature,
- GstTypeNameData *data);
-
void gst_plugin_feature_set_rank (GstPluginFeature *feature, guint rank);
-void gst_plugin_feature_set_name (GstPluginFeature *feature, const gchar *name);
guint gst_plugin_feature_get_rank (GstPluginFeature *feature);
-const gchar *gst_plugin_feature_get_name (GstPluginFeature *feature);
+
+GstPlugin * gst_plugin_feature_get_plugin (GstPluginFeature *feature);
void gst_plugin_feature_list_free (GList *list);
-GList *gst_plugin_feature_list_copy (GList *list);
+GList *gst_plugin_feature_list_copy (GList *list) G_GNUC_MALLOC;
void gst_plugin_feature_list_debug (GList *list);
/**