Gst.TypeFindFactory¶
- Subclasses:
None
Methods¶
- Inherited:
Gst.PluginFeature (10), Gst.Object (27), GObject.Object (37)
- Structs:
class |
|
|
|
|
|
|
Virtual Methods¶
- Inherited:
Properties¶
- Inherited:
Signals¶
- Inherited:
Fields¶
- Inherited:
Class Details¶
- class Gst.TypeFindFactory(**kwargs)¶
- Bases:
- Abstract:
No
- Structure:
These functions allow querying information about registered typefind functions. How to create and register these functions is described in the section ‘“Writing typefind functions” [gstreamer-Writing-typefind-functions]’.
The following example shows how to write a very simple typefinder that identifies the given data. You can get quite a bit more complicated than that though.
typedef struct { guint8 *data; guint size; guint probability; GstCaps *data; } MyTypeFind; static void my_peek (gpointer data, gint64 offset, guint size) { MyTypeFind *find = (MyTypeFind *) data; if (offset >= 0 && offset + size <= find->size) { return find->data + offset; } return NULL; } static void my_suggest (gpointer data, guint probability, GstCaps *caps) { MyTypeFind *find = (MyTypeFind *) data; if (probability > find->probability) { find->probability = probability; gst_caps_replace (&find->caps, caps); } } static GstCaps * find_type (guint8 *data, guint size) { GList *walk, *type_list; MyTypeFind find = {data, size, 0, NULL}; GstTypeFind gst_find = {my_peek, my_suggest, &find, }; walk = type_list = gst_type_find_factory_get_list (); while (walk) { GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (walk->data); walk = g_list_next (walk) gst_type_find_factory_call_function (factory, &gst_find); } g_list_free (type_list); return find.caps; };
- classmethod get_list()[source]¶
- Returns:
the list of all registered
Gst.TypeFindFactory
.- Return type:
Gets the list of all registered typefind factories. You must free the list using
Gst.PluginFeature.list_free
().The returned factories are sorted by highest rank first, and then by factory name.
Free-function:
Gst.PluginFeature.list_free
- call_function(find)[source]¶
- Parameters:
find (
Gst.TypeFind
) – a properly setupGst.TypeFind
entry. The get_data and suggest_type members must be set.
Calls the
Gst.TypeFindFunction
associated with this factory.
- get_extensions()[source]¶
- Returns:
a
None
-terminated array of extensions associated with this factory- Return type:
Gets the extensions associated with a
Gst.TypeFindFactory
. The returned array should not be changed. If you need to change stuff in it, you should copy it usingGLib.strdupv
(). This function may returnNone
to indicate a 0-length list.