#define GST_PLUGIN_FEATURE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PLUGIN_FEATURE, GstPluginFeatureClass))
#define GST_PLUGIN_FEATURE_CAST(obj) ((GstPluginFeature*)(obj))
+/**
+ * GstPluginFeature:
+ *
+ * Opaque #GstPluginFeature structure.
+ */
typedef struct _GstPluginFeature GstPluginFeature;
typedef struct _GstPluginFeatureClass GstPluginFeatureClass;
* gst_plugin_feature_get_name:
* @feature: a #GstPluginFeature to get the name of @feature.
*
- * Returns a copy of the name of @feature.
- * Caller should g_free() the return value after usage.
- * For a nameless plugin feature, this returns NULL, which you can safely g_free()
- * as well.
+ * Returns the name of @feature.
+ * For a nameless plugin feature, this returns NULL.
*
- * Returns: (transfer full): the name of @feature. g_free() after usage. MT safe.
+ * Returns: (transfer none): the name of @feature. MT safe.
*
*/
-#define gst_plugin_feature_get_name(feature) gst_object_get_name(GST_OBJECT_CAST(feature))
+#define gst_plugin_feature_get_name(feature) GST_OBJECT_NAME(feature)
/**
* gst_plugin_feature_set_name:
#define gst_plugin_feature_set_name(feature,name) gst_object_set_name(GST_OBJECT_CAST(feature),name)
/**
- * GstPluginFeature:
- *
- * Opaque #GstPluginFeature structure.
- */
-struct _GstPluginFeature {
- GstObject object;
-
- /*< private >*/
- gboolean loaded;
- 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];
-};
-
-/**
- * GstTypeNameData:
- * @name: a name
- * @type: a GType
- *
- * Structure used for filtering based on @name and @type.
- */
-typedef struct {
- const gchar *name;
- GType type;
-} GstTypeNameData;
-
-/**
* GstPluginFeatureFilter:
* @feature: the pluginfeature to check
* @user_data: the user_data that has been passed on e.g.
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);
guint gst_plugin_feature_get_rank (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);
/**