|  |  |  | GStreamer 0.10 Core Reference Manual |  | 
|---|---|---|---|---|
#include <gst/gst.h>
                    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,
                                                         GDestroyNotify data_notify);
The following functions allow you to detect the media type of an unknown stream.
Last reviewed on 2005-11-09 (0.9.4)
typedef struct {
  /* 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);
} GstTypeFind;
Object that stores typefind callbacks. To use with GstTypeFindFactory.
| peek() | Method to peek data. | 
| suggest() | Method to suggest GstCaps with a given probability. | 
| gpointer data; | The data used by the caller of the typefinding function. | 
| get_length() | Returns the length of current data. | 
void (*GstTypeFindFunction) (GstTypeFind *find, gpointer data);
A function that will be called by typefinding.
| find: | A GstTypeFind structure | 
| data: | optionnal data to pass to the function | 
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;
The probability of the typefind function. Higher values have more certainty in doing a reliable typefind.
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.
| find: | The GstTypeFind 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 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.
| 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 | 
guint64 gst_type_find_get_length (GstTypeFind *find);
Get the length of the data stream.
| find: | The GstTypeFind 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, 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.
| plugin: | A GstPlugin, or NULL for a static typefind function (note that passing NULL only works in GStreamer 0.10.16 and later) | 
| name: | The name for registering | 
| rank: | The rank (or importance) of this typefind function | 
| func: | The GstTypeFindFunction to use | 
| 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. | 
| data_notify: | a GDestroyNotify that will be called on datawhen the plugin
       is unloaded. | 
| Returns : | TRUE on success, FALSE otherwise |