Blame docs/gst/html/GstTypeFindFactory.html

Packit Service 963350
Packit Service 963350
<html>
Packit Service 963350
<head>
Packit Service 963350
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit Service 963350
<title>GstTypeFindFactory: GStreamer 1.0 Core Reference Manual</title>
Packit Service 963350
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
Packit Service 963350
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
Packit Service 963350
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
Packit Service 963350
<link rel="prev" href="gstreamer-GstTypeFind.html" title="GstTypefind">
Packit Service 963350
<link rel="next" href="gstreamer-GstUri.html" title="GstUri">
Packit Service 963350
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
Packit Service 963350
<link rel="stylesheet" href="style.css" type="text/css">
Packit Service 963350
</head>
Packit Service 963350
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit Service 963350
Packit Service 963350
Packit Service 963350
Top  | 
Packit Service 963350
                  Description  | 
Packit Service 963350
                  Object Hierarchy
Packit Service 963350
Packit Service 963350
Home
Packit Service 963350
Up
Packit Service 963350
Prev
Packit Service 963350
Next
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

GstTypeFindFactory

Packit Service 963350

GstTypeFindFactory — Information about registered typefind functions

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Functions

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
GList *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_type_find_factory_get_list ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
const gchar * const *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_type_find_factory_get_extensions ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
GstCaps *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_type_find_factory_get_caps ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gboolean
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_type_find_factory_has_function ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
void
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_type_find_factory_call_function ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Types and Values

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
 
Packit Service 963350
GstTypeFindFactory
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Object Hierarchy

Packit Service 963350
    GObject
Packit Service 963350
    ╰── GInitiallyUnowned
Packit Service 963350
        ╰── GstObject
Packit Service 963350
            ╰── GstPluginFeature
Packit Service 963350
                ╰── GstTypeFindFactory
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Includes

Packit Service 963350
#include <gst/gstprotection.h>
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Description

Packit Service 963350

These functions allow querying informations about registered typefind

Packit Service 963350
functions. How to create and register these functions is described in
Packit Service 963350
the section <GTKDOCLINK HREF="gstreamer-Writing-typefind-functions">
Packit Service 963350
"Writing typefind functions"</GTKDOCLINK>.

Packit Service 963350

The following example shows how to write a very simple typefinder that

Packit Service 963350
identifies the given data. You can get quite a bit more complicated than
Packit Service 963350
that though.

Packit Service 963350
Packit Service 963350
  
Packit Service 963350
    
Packit Service 963350
      
Packit Service 963350
        
1
Packit Service 963350
2
Packit Service 963350
3
Packit Service 963350
4
Packit Service 963350
5
Packit Service 963350
6
Packit Service 963350
7
Packit Service 963350
8
Packit Service 963350
9
Packit Service 963350
10
Packit Service 963350
11
Packit Service 963350
12
Packit Service 963350
13
Packit Service 963350
14
Packit Service 963350
15
Packit Service 963350
16
Packit Service 963350
17
Packit Service 963350
18
Packit Service 963350
19
Packit Service 963350
20
Packit Service 963350
21
Packit Service 963350
22
Packit Service 963350
23
Packit Service 963350
24
Packit Service 963350
25
Packit Service 963350
26
Packit Service 963350
27
Packit Service 963350
28
Packit Service 963350
29
Packit Service 963350
30
Packit Service 963350
31
Packit Service 963350
32
Packit Service 963350
33
Packit Service 963350
34
Packit Service 963350
35
Packit Service 963350
36
Packit Service 963350
37
Packit Service 963350
38
Packit Service 963350
39
Packit Service 963350
        
typedef struct {
Packit Service 963350
  guint8 *data;
Packit Service 963350
  guint size;
Packit Service 963350
  guint probability;
Packit Service 963350
  GstCaps *data;
Packit Service 963350
} MyTypeFind;
Packit Service 963350
static void
Packit Service 963350
my_peek (gpointer data, gint64 offset, guint size)
Packit Service 963350
{
Packit Service 963350
  MyTypeFind *find = (MyTypeFind *) data;
Packit Service 963350
  if (offset >= 0 && offset + size <= find->size) {
Packit Service 963350
    return find->data + offset;
Packit Service 963350
  }
Packit Service 963350
  return NULL;
Packit Service 963350
}
Packit Service 963350
static void
Packit Service 963350
my_suggest (gpointer data, guint probability, GstCaps *caps)
Packit Service 963350
{
Packit Service 963350
  MyTypeFind *find = (MyTypeFind *) data;
Packit Service 963350
  if (probability > find->probability) {
Packit Service 963350
    find->probability = probability;
Packit Service 963350
    gst_caps_replace (&find->caps, caps);
Packit Service 963350
  }
Packit Service 963350
}
Packit Service 963350
static GstCaps *
Packit Service 963350
find_type (guint8 *data, guint size)
Packit Service 963350
{
Packit Service 963350
  GList *walk, *type_list;
Packit Service 963350
  MyTypeFind find = {data, size, 0, NULL};
Packit Service 963350
  GstTypeFind gst_find = {my_peek, my_suggest, &find, };
Packit Service 963350
  walk = type_list = gst_type_find_factory_get_list ();
Packit Service 963350
  while (walk) {
Packit Service 963350
    GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (walk->data);
Packit Service 963350
    walk = g_list_next (walk)
Packit Service 963350
    gst_type_find_factory_call_function (factory, &gst_find);
Packit Service 963350
  }
Packit Service 963350
  g_list_free (type_list);
Packit Service 963350
  return find.caps;
Packit Service 963350
};
Packit Service 963350
      
Packit Service 963350
    
Packit Service 963350
  
Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350
Packit Service 963350

Functions

Packit Service 963350
Packit Service 963350

gst_type_find_factory_get_list ()

Packit Service 963350
GList *
Packit Service 963350
gst_type_find_factory_get_list (void);
Packit Service 963350

Gets the list of all registered typefind factories. You must free the

Packit Service 963350
list using gst_plugin_feature_list_free().

Packit Service 963350

The returned factories are sorted by highest rank first, and then by

Packit Service 963350
factory name.

Packit Service 963350

Free-function: gst_plugin_feature_list_free

Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

the list of all

Packit Service 963350
registered GstTypeFindFactory. 

Packit Service 963350

[transfer full][element-type Gst.TypeFindFactory]

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_type_find_factory_get_extensions ()

Packit Service 963350
const gchar * const *
Packit Service 963350
gst_type_find_factory_get_extensions (GstTypeFindFactory *factory);
Packit Service 963350

Gets the extensions associated with a GstTypeFindFactory. The returned

Packit Service 963350
array should not be changed. If you need to change stuff in it, you should
Packit Service 963350
copy it using g_strdupv().  This function may return NULL to indicate
Packit Service 963350
a 0-length list.

Packit Service 963350
Packit Service 963350

Parameters

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

factory

Packit Service 963350

A GstTypeFindFactory

Packit Service 963350
 
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

a NULL-terminated array of extensions associated with this factory.

Packit Service 963350

[transfer none][array zero-terminated=1][element-type utf8][nullable]

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_type_find_factory_get_caps ()

Packit Service 963350
GstCaps *
Packit Service 963350
gst_type_find_factory_get_caps (GstTypeFindFactory *factory);
Packit Service 963350

Gets the GstCaps associated with a typefind factory.

Packit Service 963350
Packit Service 963350

Parameters

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

factory

Packit Service 963350

A GstTypeFindFactory

Packit Service 963350
 
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

the GstCaps associated with this factory.

Packit Service 963350

[transfer none]

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_type_find_factory_has_function ()

Packit Service 963350
gboolean
Packit Service 963350
gst_type_find_factory_has_function (GstTypeFindFactory *factory);
Packit Service 963350

Check whether the factory has a typefind function. Typefind factories

Packit Service 963350
without typefind functions are a last-effort fallback mechanism to
Packit Service 963350
e.g. assume a certain media type based on the file extension.

Packit Service 963350
Packit Service 963350

Parameters

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

factory

Packit Service 963350

A GstTypeFindFactory

Packit Service 963350
 
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

TRUE if the factory has a typefind functions set, otherwise FALSE

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_type_find_factory_call_function ()

Packit Service 963350
void
Packit Service 963350
gst_type_find_factory_call_function (GstTypeFindFactory *factory,
Packit Service 963350
                                     GstTypeFind *find);
Packit Service 963350

Calls the GstTypeFindFunction associated with this factory.

Packit Service 963350
Packit Service 963350

Parameters

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

factory

Packit Service 963350

A GstTypeFindFactory

Packit Service 963350
 
Packit Service 963350
Packit Service 963350
Packit Service 963350

find

Packit Service 963350

a properly setup GstTypeFind entry. The get_data

Packit Service 963350
and suggest_type members must be set. 

Packit Service 963350
[transfer none]
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Types and Values

Packit Service 963350
Packit Service 963350

GstTypeFindFactory

Packit Service 963350
typedef struct _GstTypeFindFactory GstTypeFindFactory;
Packit Service 963350

Opaque object that stores information about a typefind function.

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Generated by GTK-Doc V1.27
Packit Service 963350
</body>
Packit Service 963350
</html>