Top |
Functions
void | (*GstTypeFindFunction) () |
const guint8 * | gst_type_find_peek () |
void | gst_type_find_suggest () |
void | gst_type_find_suggest_simple () |
guint64 | gst_type_find_get_length () |
gboolean | gst_type_find_register () |
Description
The following functions allow you to detect the media type of an unknown stream.
Last reviewed on 2005-11-09 (0.9.4)
Functions
GstTypeFindFunction ()
void (*GstTypeFindFunction) (GstTypeFind *find
,gpointer user_data
);
A function that will be called by typefinding.
gst_type_find_peek ()
const guint8 * gst_type_find_peek (GstTypeFind *find
,gint64 offset
,guint size
);
returns and must not be freed.
Parameters
find |
The GstTypeFind object the function was called with |
|
offset |
The offset |
|
size |
The number of bytes to return |
gst_type_find_suggest ()
void gst_type_find_suggest (GstTypeFind *find
,guint probability
,GstCaps *caps
);
If a GstTypeFindFunction calls this function it suggests the caps with the given probability. A GstTypeFindFunction may supply different suggestions in one call. It is up to the caller of the GstTypeFindFunction to interpret these values.
Parameters
find |
The GstTypeFind object the function was called with |
|
probability |
The probability in percent that the suggestion is right |
|
caps |
The fixed GstCaps to suggest |
gst_type_find_suggest_simple ()
void gst_type_find_suggest_simple (GstTypeFind *find
,guint probability
,const char *media_type
,const char *fieldname
,...
);
If a GstTypeFindFunction calls this function it suggests the caps with the given probability. A GstTypeFindFunction may supply different suggestions in one call. It is up to the caller of the GstTypeFindFunction to interpret these values.
This function is similar to gst_type_find_suggest()
, only that instead of
passing a GstCaps argument you can create the caps on the fly in the same
way as you can with gst_caps_new_simple()
.
Make sure you terminate the list of arguments with a NULL argument and that the values passed have the correct type (in terms of width in bytes when passed to the vararg function - this applies particularly to gdouble and guint64 arguments).
Parameters
find |
The GstTypeFind object the function was called with |
|
probability |
The probability in percent that the suggestion is right |
|
media_type |
the media type of the suggested caps |
|
fieldname |
first field of the suggested caps, or NULL. |
[allow-none] |
... |
additional arguments to the suggested caps in the same format as the
arguments passed to |
gst_type_find_get_length ()
guint64
gst_type_find_get_length (GstTypeFind *find
);
Get the length of the data stream.
gst_type_find_register ()
gboolean gst_type_find_register (GstPlugin *plugin
,const gchar *name
,guint rank
,GstTypeFindFunction func
,const gchar *extensions
,GstCaps *possible_caps
,gpointer data
,GDestroyNotify data_notify
);
Registers a new typefind function to be used for typefinding. After registering this function will be available for typefinding. This function is typically called during an element's plugin initialization.
Parameters
plugin |
A GstPlugin, or NULL for a static typefind function. |
[allow-none] |
name |
The name for registering |
|
rank |
The rank (or importance) of this typefind function |
|
func |
The GstTypeFindFunction to use |
|
extensions |
Optional comma-separated list of extensions that could belong to this type. |
[allow-none] |
possible_caps |
Optionally the caps that could be returned when typefinding succeeds |
|
data |
Optional user data. This user data must be available until the plugin is unloaded. |
|
data_notify |
a GDestroyNotify that will be called on |
Types and Values
struct GstTypeFind
struct GstTypeFind { /* private to the caller of the typefind function */ const guint8 * (* peek) (gpointer data, gint64 offset, guint size); void (* suggest) (gpointer data, guint probability, GstCaps *caps); gpointer data; /* optional */ guint64 (* get_length) (gpointer data); };
Object that stores typefind callbacks. To use with GstTypeFindFactory.