mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
elementfactory: add gst_element_factory_get_metadata_keys()
API: gst_element_factory_get_metadata_keys()
This commit is contained in:
parent
6e87803114
commit
1ee520790a
4 changed files with 37 additions and 0 deletions
|
@ -814,6 +814,7 @@ gst_element_register
|
|||
gst_element_factory_find
|
||||
gst_element_factory_get_element_type
|
||||
gst_element_factory_get_metadata
|
||||
gst_element_factory_get_metadata_keys
|
||||
gst_element_factory_get_num_pad_templates
|
||||
gst_element_factory_get_uri_type
|
||||
gst_element_factory_get_uri_protocols
|
||||
|
|
|
@ -509,6 +509,40 @@ gst_element_factory_get_metadata (GstElementFactory * factory,
|
|||
return gst_structure_get_string ((GstStructure *) factory->metadata, key);
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_element_factory_get_metadata_keys:
|
||||
* @factory,: a #GstElementFactory
|
||||
*
|
||||
* Get the available keys for the metadata on @factory.
|
||||
*
|
||||
* Returns: a %NULL-terminated array of key strings, or %NULL when
|
||||
* there is no metadata. Free with g_strfreev() when no longer needd.
|
||||
*/
|
||||
gchar **
|
||||
gst_element_factory_get_metadata_keys (GstElementFactory * factory)
|
||||
{
|
||||
GstStructure *metadata;
|
||||
gchar **arr;
|
||||
gint i, num;
|
||||
|
||||
g_return_val_if_fail (GST_IS_ELEMENT_FACTORY (factory), NULL);
|
||||
|
||||
metadata = (GstStructure *) factory->metadata;
|
||||
if (metadata == NULL)
|
||||
return NULL;
|
||||
|
||||
num = gst_structure_n_fields (metadata);
|
||||
if (num == 0)
|
||||
return NULL;
|
||||
|
||||
arr = g_new (gchar *, num + 1);
|
||||
for (i = 0; i < num; ++i) {
|
||||
arr[i] = g_strdup (gst_structure_nth_field_name (metadata, i));
|
||||
}
|
||||
arr[i] = NULL;
|
||||
return arr;
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_element_factory_get_num_pad_templates:
|
||||
* @factory: a #GstElementFactory
|
||||
|
|
|
@ -85,6 +85,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);
|
||||
|
|
|
@ -338,6 +338,7 @@ EXPORTS
|
|||
gst_element_factory_find
|
||||
gst_element_factory_get_element_type
|
||||
gst_element_factory_get_metadata
|
||||
gst_element_factory_get_metadata_keys
|
||||
gst_element_factory_get_num_pad_templates
|
||||
gst_element_factory_get_static_pad_templates
|
||||
gst_element_factory_get_type
|
||||
|
|
Loading…
Reference in a new issue