GstTypeFind
Object that stores typefind callbacks. To use with GstTypeFindFactory.
Members
data
(gpointer)
–
The data used by the caller of the typefinding function.
Methods
gst_type_find_get_length
guint64 gst_type_find_get_length (GstTypeFind * find)
Get the length of the data stream.
Parameters:
find
–
The GstTypeFind the function was called with
The length of the data stream, or 0 if it is not available.
gst_type_find_peek
const guint8 * gst_type_find_peek (GstTypeFind * find, gint64 offset, guint size)
Returns the size bytes of the stream to identify beginning at offset. If offset is a positive number, the offset is relative to the beginning of the stream, if offset is a negative number the offset is relative to the end of the stream. The returned memory is valid until the typefinding function 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
the requested data, or NULL if that data is not available.
gst_type_find_suggest
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_empty_simple
gst_type_find_suggest_empty_simple (GstTypeFind * find, guint probability, const char* media_type)
If a GstTypeFindFunction calls this function it suggests caps of the given media_type with the given probability.
This function is similar to gst_type_find_suggest_simple, but uses a GstCaps with no fields.
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
Since : 1.20
gst_type_find_suggest_simple
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
(
[allow-none])
–
first field of the suggested caps, or NULL
...
–
additional arguments to the suggested caps in the same format as the arguments passed to gst_structure_new (ie. triplets of field name, field GType and field value). If fieldname is NULL, this list must be exactly one NULL.
Functions
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:
name
–
The name for registering
rank
–
The rank (or importance) of this typefind function
func
–
The GstTypeFindFunction to use
extensions
(
[nullable])
–
Optional comma-separated list of extensions that could belong to this type
possible_caps
(
[nullable])
–
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 data when the plugin is unloaded.
Function Macros
GST_TYPE_FIND_REGISTER
#define GST_TYPE_FIND_REGISTER(t_f, plugin) G_PASTE(gst_type_find_register_, t_f) (plugin)
This macro can be used to register a type find into a GstPlugin. This method will be usually called in the plugin init function but can also be called with a NULL plugin.
Parameters:
t_f
–
The type find name in lower case, with words separated by '_'.
plugin
–
The GstPlugin where to register the type find.
Since : 1.20
GST_TYPE_FIND_REGISTER_DECLARE
#define GST_TYPE_FIND_REGISTER_DECLARE(t_f) \ G_BEGIN_DECLS \ gboolean G_PASTE(gst_type_find_register_, t_f) (GstPlugin * plugin); \ G_END_DECLS
This macro can be used to declare a new type find. It has to be used in combination with GST_TYPE_FIND_REGISTER_DEFINE macro and must be placed outside any block to declare the type find registration function.
Parameters:
t_f
–
The type find name in lower case, with words separated by '_'.
Since : 1.20
GST_TYPE_FIND_REGISTER_DEFINE
#define GST_TYPE_FIND_REGISTER_DEFINE(t_f, t_f_n, r, func, extensions, possible_caps, data, data_notify) \ G_BEGIN_DECLS \ gboolean G_PASTE (gst_type_find_register_, t_f) (GstPlugin * plugin) \ { \ return gst_type_find_register (plugin, t_f_n, r, func, extensions, possible_caps, data, data_notify); \ } \ G_END_DECLS
A convenience macro to define the entry point of a
type find gst_type_find_register_*(GstPlugin* plugin)
.
Parameters:
t_f
–
The type find name in lower case, with words separated by '_'.
Used to generate gst_type_find_register_*(GstPlugin* plugin)
.
t_f_n
–
The public name of the type find
func
–
The GstTypeFindFunction to use
extensions
(
[nullable])
–
Optional comma-separated list of extensions that could belong to this type
possible_caps
(
[nullable])
–
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 data when the plugin is unloaded.
Since : 1.20
GST_TYPE_FIND_REGISTER_DEFINE_CUSTOM
#define GST_TYPE_FIND_REGISTER_DEFINE_CUSTOM(type_find, register_func) \ G_BEGIN_DECLS \ gboolean G_PASTE (gst_type_find_register_, type_find) (GstPlugin * plugin) \ { \ return register_func (plugin); \ } \ G_END_DECLS
A convenience macro to define the entry point of a
type find gst_type_find_register_*(GstPlugin* plugin)
which uses
register_func as the main registration method for the type find.
As an example, you may define the type find named "custom-typefind"
as following using type_find_register_custom
:
GST_TYPE_FIND_REGISTER_DEFINE_CUSTOM (plugin, type_find_register_custom)
Parameters:
type_find
–
The type find name in lower case, with words separated by '_'.
Used to generate gst_type_find_register_*(GstPlugin* plugin)
.
register_func
–
pointer to a method with the format: gboolean register_func (GstPlugin* plugin);
Since : 1.20
Enumerations
GstTypeFindProbability
The probability of the typefind function. Higher values have more certainty in doing a reliable typefind.
Members
GST_TYPE_FIND_NONE
(0)
–
type undetected.
GST_TYPE_FIND_MINIMUM
(1)
–
unlikely typefind.
GST_TYPE_FIND_POSSIBLE
(50)
–
possible type detected.
GST_TYPE_FIND_LIKELY
(80)
–
likely a type was detected.
GST_TYPE_FIND_NEARLY_CERTAIN
(99)
–
nearly certain that a type was detected.
GST_TYPE_FIND_MAXIMUM
(100)
–
very certain a type was detected.
Callbacks
GstTypeFindFunction
(*GstTypeFindFunction) (GstTypeFind * find, gpointer user_data)
A function that will be called by typefinding.
The results of the search are