|  |  |  | GStreamer 0.10 Core Reference Manual |  | 
|---|
| GstTypeFindGstTypeFind — Stream type detection | 
#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.
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.
| GST_TYPE_FIND_MINIMUM | unlikely typefind | 
| GST_TYPE_FIND_POSSIBLE | possible type detected | 
| GST_TYPE_FIND_LIKELY | likely a type was detected | 
| GST_TYPE_FIND_NEARLY_CERTAIN | nearly certain that a type was detected | 
| GST_TYPE_FIND_MAXIMUM | very certain a type was detected. | 
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. | 
| 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 | 
| << GstTask | GstTypeFindFactory >> |