pub struct TypeFindFactory(_, _); These functions allow querying informations about registered typefind
functions. How to create and register these functions is described in
the section  
"Writing typefind functions"</link>.
The following example shows how to write a very simple typefinder that
identifies the given data. You can get quite a bit more complicated than
that though.
  typedef struct {
    guint8 *data;
    guint size;
    guint probability;
    GstCaps *data;
  } MyTypeFind;
  static void
  my_peek (gpointer data, gint64 offset, guint size)
  {
    MyTypeFind *find = (MyTypeFind *) data;
    if (offset >= 0 && offset + size <= find->size) {
      return find->data + offset;
    }
    return NULL;
  }
  static void
  my_suggest (gpointer data, guint probability, GstCaps *caps)
  {
    MyTypeFind *find = (MyTypeFind *) data;
    if (probability > find->probability) {
      find->probability = probability;
      gst_caps_replace (&find->caps, caps);
    }
  }
  static GstCaps *
  find_type (guint8 *data, guint size)
  {
    GList *walk, *type_list;
    MyTypeFind find = {data, size, 0, NULL};
    GstTypeFind gst_find = {my_peek, my_suggest, &find, };
    walk = type_list = gst_type_find_factory_get_list ();
    while (walk) {
      GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (walk->data);
      walk = g_list_next (walk)
      gst_type_find_factory_call_function (factory, &gst_find);
    }
    g_list_free (type_list);
    return find.caps;
  };
 
PluginFeatureExt , GstObjectExt , glib::object::ObjectExt
 
                    
                Gets the Caps associated with a typefind factory.
the Caps associated with this factory
Gets the extensions associated with a TypeFindFactory. The returned
array should not be changed. If you need to change stuff in it, you should
copy it using g_strdupv. This function may return None to indicate
a 0-length list.
a None-terminated array of extensions associated with this factory
Check whether the factory has a typefind function. Typefind factories
without typefind functions are a last-effort fallback mechanism to
e.g. assume a certain media type based on the file extension.
true if the factory has a typefind functions set, otherwise false
Gets the list of all registered typefind factories. You must free the
list using PluginFeature::list_free.
The returned factories are sorted by highest rank first, and then by
factory name.
Free-function: gst_plugin_feature_list_free
the list of all
registered TypeFindFactory.
Calls the GstTypeFindFunction associated with this factory.
a properly setup TypeFind entry. The get_data
and suggest_type members must be set.
 
                
                Performs copy-assignment from source. Read more 
Feeds this value into the given [Hasher]. Read more 
Feeds a slice of this type into the given [Hasher]. Read more 
This method returns an Ordering between self and other. Read more 
fn max (self, other: Self) -> Self
1.21.0
[src] 
Compares and returns the maximum of two values. Read more 
fn min (self, other: Self) -> Self
1.21.0
[src] 
Compares and returns the minimum of two values. Read more 
Returns the type identifier of Self.
This method tests for self and other values to be equal, and is used by ==. Read more 
This method tests for !=.
This method returns an ordering between self and other values if one exists. Read more 
This method tests less than (for self and other) and is used by the < operator. Read more 
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more 
This method tests greater than (for self and other) and is used by the > operator. Read more 
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more 
Formats the value using the given formatter. Read more