GStreamer 0.8 Core Reference Manual |
---|
GstTypeFindElement — typefinding subsystem
#include <gst/gst.h> struct GstTypeFind; void (*GstTypeFindFunction) (GstTypeFind *find, gpointer data); enum GstTypeFindProbability; guint8* gst_type_find_peek (GstTypeFind *find, gint64 offset, guint size); void gst_type_find_suggest (GstTypeFind *find, guint probability, const GstCaps *caps); guint64 gst_type_find_get_length (GstTypeFind *find); gboolean gst_type_find_register (GstPlugin *plugin, const gchar *name, guint rank, GstTypeFindFunction func, gchar **extensions, const GstCaps *possible_caps, gpointer data);
struct GstTypeFind { /* private to the caller of the typefind function */ guint8 * (* peek) (gpointer data, gint64 offset, guint size); void (* suggest) (gpointer data, guint probability, const GstCaps * caps); gpointer data; /* optional */ guint64 (* get_length) (gpointer data); };
typedef enum { GST_TYPE_FIND_MINIMUM = 1, GST_TYPE_FIND_POSSIBLE = 50, GST_TYPE_FIND_LIKELY = 80, GST_TYPE_FIND_NEARLY_CERTAIN = 99, GST_TYPE_FIND_MAXIMUM = 100 } GstTypeFindProbability;
guint8* gst_type_find_peek (GstTypeFind *find, gint64 offset, guint size);
Returns 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. If NULL is returned, that data is not available.
find : | the find object the function was called with |
offset : | the offset |
size : | the number of bytes to return |
Returns : | the requested data or NULL if that data is not available. |
void gst_type_find_suggest (GstTypeFind *find, guint probability, const GstCaps *caps);
If a typefind function calls this function it suggests the caps with the given probability. A typefind function may supply different suggestions in one call. It is up to the caller of the typefind function to interpret these values.
find : | the find object the function was called with |
probability : | the probability in percent that the suggestion is right |
caps : | the fixed caps to suggest |
guint64 gst_type_find_get_length (GstTypeFind *find);
Get the length of the data stream.
find : | the find object the function was called with |
Returns : | the length of the data stream or 0 if it is not available. |
gboolean gst_type_find_register (GstPlugin *plugin, const gchar *name, guint rank, GstTypeFindFunction func, gchar **extensions, const GstCaps *possible_caps, gpointer data);
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.
plugin : | the GstPlugin to register with |
name : | the name for registering |
rank : | rank (or importance) of this typefind function |
func : | the function to use for typefinding |
extensions : | optional extensions that could belong to this type |
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. |
Returns : | TRUE on success, FALSE otherwise |
<< GstThread | GstTypeFindFactory >> |