|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
<html>
|
|
Packit |
a6ee4b |
<head>
|
|
Packit |
a6ee4b |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
Packit |
a6ee4b |
<title>GstTypeFindFactory: GStreamer 1.0 Core Reference Manual</title>
|
|
Packit |
a6ee4b |
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
|
|
Packit |
a6ee4b |
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
|
|
Packit |
a6ee4b |
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
|
|
Packit |
a6ee4b |
<link rel="prev" href="gstreamer-GstTypeFind.html" title="GstTypefind">
|
|
Packit |
a6ee4b |
<link rel="next" href="gstreamer-GstUri.html" title="GstUri">
|
|
Packit |
a6ee4b |
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
|
Packit |
a6ee4b |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
Packit |
a6ee4b |
</head>
|
|
Packit |
a6ee4b |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Top |
|
|
Packit |
a6ee4b |
Description |
|
|
Packit |
a6ee4b |
Object Hierarchy
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
GstTypeFindFactory
|
|
Packit |
a6ee4b |
GstTypeFindFactory — Information about registered typefind functions
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Functions
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
GList *
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_get_list ()
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
const gchar * const *
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_get_extensions ()
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
GstCaps *
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_get_caps ()
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gboolean
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_has_function ()
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
void
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_call_function ()
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Types and Values
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
GstTypeFindFactory
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Object Hierarchy
|
|
Packit |
a6ee4b |
GObject
|
|
Packit |
a6ee4b |
╰── GInitiallyUnowned
|
|
Packit |
a6ee4b |
╰── GstObject
|
|
Packit |
a6ee4b |
╰── GstPluginFeature
|
|
Packit |
a6ee4b |
╰── GstTypeFindFactory
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Includes
|
|
Packit |
a6ee4b |
#include <gst/gst.h>
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Description
|
|
Packit |
a6ee4b |
These functions allow querying information about registered typefind
|
|
Packit |
a6ee4b |
functions. How to create and register these functions is described in
|
|
Packit |
a6ee4b |
the section <GTKDOCLINK HREF="gstreamer-Writing-typefind-functions">
|
|
Packit |
a6ee4b |
"Writing typefind functions"</GTKDOCLINK>.
|
|
Packit |
a6ee4b |
The following example shows how to write a very simple typefinder that
|
|
Packit |
a6ee4b |
identifies the given data. You can get quite a bit more complicated than
|
|
Packit |
a6ee4b |
that though.
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
1
|
|
Packit |
a6ee4b |
2
|
|
Packit |
a6ee4b |
3
|
|
Packit |
a6ee4b |
4
|
|
Packit |
a6ee4b |
5
|
|
Packit |
a6ee4b |
6
|
|
Packit |
a6ee4b |
7
|
|
Packit |
a6ee4b |
8
|
|
Packit |
a6ee4b |
9
|
|
Packit |
a6ee4b |
10
|
|
Packit |
a6ee4b |
11
|
|
Packit |
a6ee4b |
12
|
|
Packit |
a6ee4b |
13
|
|
Packit |
a6ee4b |
14
|
|
Packit |
a6ee4b |
15
|
|
Packit |
a6ee4b |
16
|
|
Packit |
a6ee4b |
17
|
|
Packit |
a6ee4b |
18
|
|
Packit |
a6ee4b |
19
|
|
Packit |
a6ee4b |
20
|
|
Packit |
a6ee4b |
21
|
|
Packit |
a6ee4b |
22
|
|
Packit |
a6ee4b |
23
|
|
Packit |
a6ee4b |
24
|
|
Packit |
a6ee4b |
25
|
|
Packit |
a6ee4b |
26
|
|
Packit |
a6ee4b |
27
|
|
Packit |
a6ee4b |
28
|
|
Packit |
a6ee4b |
29
|
|
Packit |
a6ee4b |
30
|
|
Packit |
a6ee4b |
31
|
|
Packit |
a6ee4b |
32
|
|
Packit |
a6ee4b |
33
|
|
Packit |
a6ee4b |
34
|
|
Packit |
a6ee4b |
35
|
|
Packit |
a6ee4b |
36
|
|
Packit |
a6ee4b |
37
|
|
Packit |
a6ee4b |
38
|
|
Packit |
a6ee4b |
39
|
|
Packit |
a6ee4b |
typedef struct {
|
|
Packit |
a6ee4b |
guint8 *data;
|
|
Packit |
a6ee4b |
guint size;
|
|
Packit |
a6ee4b |
guint probability;
|
|
Packit |
a6ee4b |
GstCaps *data;
|
|
Packit |
a6ee4b |
} MyTypeFind;
|
|
Packit |
a6ee4b |
static void
|
|
Packit |
a6ee4b |
my_peek (gpointer data, gint64 offset, guint size)
|
|
Packit |
a6ee4b |
{
|
|
Packit |
a6ee4b |
MyTypeFind *find = (MyTypeFind *) data;
|
|
Packit |
a6ee4b |
if (offset >= 0 && offset + size <= find->size) {
|
|
Packit |
a6ee4b |
return find->data + offset;
|
|
Packit |
a6ee4b |
}
|
|
Packit |
a6ee4b |
return NULL;
|
|
Packit |
a6ee4b |
}
|
|
Packit |
a6ee4b |
static void
|
|
Packit |
a6ee4b |
my_suggest (gpointer data, guint probability, GstCaps *caps)
|
|
Packit |
a6ee4b |
{
|
|
Packit |
a6ee4b |
MyTypeFind *find = (MyTypeFind *) data;
|
|
Packit |
a6ee4b |
if (probability > find->probability) {
|
|
Packit |
a6ee4b |
find->probability = probability;
|
|
Packit |
a6ee4b |
gst_caps_replace (&find->caps, caps);
|
|
Packit |
a6ee4b |
}
|
|
Packit |
a6ee4b |
}
|
|
Packit |
a6ee4b |
static GstCaps *
|
|
Packit |
a6ee4b |
find_type (guint8 *data, guint size)
|
|
Packit |
a6ee4b |
{
|
|
Packit |
a6ee4b |
GList *walk, *type_list;
|
|
Packit |
a6ee4b |
MyTypeFind find = {data, size, 0, NULL};
|
|
Packit |
a6ee4b |
GstTypeFind gst_find = {my_peek, my_suggest, &find, };
|
|
Packit |
a6ee4b |
walk = type_list = gst_type_find_factory_get_list ();
|
|
Packit |
a6ee4b |
while (walk) {
|
|
Packit |
a6ee4b |
GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (walk->data);
|
|
Packit |
a6ee4b |
walk = g_list_next (walk)
|
|
Packit |
a6ee4b |
gst_type_find_factory_call_function (factory, &gst_find);
|
|
Packit |
a6ee4b |
}
|
|
Packit |
a6ee4b |
g_list_free (type_list);
|
|
Packit |
a6ee4b |
return find.caps;
|
|
Packit |
a6ee4b |
};
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Functions
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_get_list ()
|
|
Packit |
a6ee4b |
GList *
|
|
Packit |
a6ee4b |
gst_type_find_factory_get_list (void );
|
|
Packit |
a6ee4b |
Gets the list of all registered typefind factories. You must free the
|
|
Packit |
a6ee4b |
list using gst_plugin_feature_list_free() .
|
|
Packit |
a6ee4b |
The returned factories are sorted by highest rank first, and then by
|
|
Packit |
a6ee4b |
factory name.
|
|
Packit |
a6ee4b |
Free-function: gst_plugin_feature_list_free
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Returns
|
|
Packit |
a6ee4b |
the list of all
|
|
Packit |
a6ee4b |
registered GstTypeFindFactory.
|
|
Packit |
a6ee4b |
[transfer full][element-type Gst.TypeFindFactory]
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_get_extensions ()
|
|
Packit |
a6ee4b |
const gchar * const *
|
|
Packit |
a6ee4b |
gst_type_find_factory_get_extensions (GstTypeFindFactory *factory );
|
|
Packit |
a6ee4b |
Gets the extensions associated with a GstTypeFindFactory. The returned
|
|
Packit |
a6ee4b |
array should not be changed. If you need to change stuff in it, you should
|
|
Packit |
a6ee4b |
copy it using g_strdupv() . This function may return NULL to indicate
|
|
Packit |
a6ee4b |
a 0-length list.
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Parameters
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
factory
|
|
Packit |
a6ee4b |
A GstTypeFindFactory
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Returns
|
|
Packit |
a6ee4b |
a NULL -terminated array of extensions associated with this factory.
|
|
Packit |
a6ee4b |
[transfer none][array zero-terminated=1][element-type utf8][nullable]
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_get_caps ()
|
|
Packit |
a6ee4b |
GstCaps *
|
|
Packit |
a6ee4b |
gst_type_find_factory_get_caps (GstTypeFindFactory *factory );
|
|
Packit |
a6ee4b |
Gets the GstCaps associated with a typefind factory.
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Parameters
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
factory
|
|
Packit |
a6ee4b |
A GstTypeFindFactory
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Returns
|
|
Packit |
a6ee4b |
the GstCaps associated with this factory.
|
|
Packit |
a6ee4b |
[transfer none]
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_has_function ()
|
|
Packit |
a6ee4b |
gboolean
|
|
Packit |
a6ee4b |
gst_type_find_factory_has_function (GstTypeFindFactory *factory );
|
|
Packit |
a6ee4b |
Check whether the factory has a typefind function. Typefind factories
|
|
Packit |
a6ee4b |
without typefind functions are a last-effort fallback mechanism to
|
|
Packit |
a6ee4b |
e.g. assume a certain media type based on the file extension.
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Parameters
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
factory
|
|
Packit |
a6ee4b |
A GstTypeFindFactory
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Returns
|
|
Packit |
a6ee4b |
TRUE if the factory has a typefind functions set, otherwise FALSE
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
gst_type_find_factory_call_function ()
|
|
Packit |
a6ee4b |
void
|
|
Packit |
a6ee4b |
gst_type_find_factory_call_function (GstTypeFindFactory *factory ,
|
|
Packit |
a6ee4b |
GstTypeFind *find );
|
|
Packit |
a6ee4b |
Calls the GstTypeFindFunction associated with this factory.
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Parameters
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
factory
|
|
Packit |
a6ee4b |
A GstTypeFindFactory
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
find
|
|
Packit |
a6ee4b |
a properly setup GstTypeFind entry. The get_data
|
|
Packit |
a6ee4b |
and suggest_type members must be set.
|
|
Packit |
a6ee4b |
[transfer none]
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Types and Values
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
GstTypeFindFactory
|
|
Packit |
a6ee4b |
typedef struct _GstTypeFindFactory GstTypeFindFactory;
|
|
Packit |
a6ee4b |
Opaque object that stores information about a typefind function.
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
|
|
Packit |
a6ee4b |
Generated by GTK-Doc V1.28
|
|
Packit |
a6ee4b |
</body>
|
|
Packit |
a6ee4b |
</html>
|