gir-files: Remove in favour of split ./gir-files and ./gst-gir-files

gir-files will be readded as a proper submodule from
https://github.com/gtk-rs/gir-files, and gst-gir-files as a submodule
from https://gitlab.freedesktop.org/gstreamer/gir-files-rs.
This commit is contained in:
Marijn Suijten 2021-03-10 20:14:08 +01:00
parent a38561fbcd
commit da0636a63c
28 changed files with 0 additions and 319603 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,325 +0,0 @@
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="GLib" version="2.0"/>
<package name="gmodule-2.0"/>
<c:include name="gmodule.h"/>
<namespace name="GModule" version="2.0" shared-library="libgmodule-2.0.so.0" c:identifier-prefixes="G" c:symbol-prefixes="g">
<record name="Module" c:type="GModule" disguised="1">
<doc xml:space="preserve">The #GModule struct is an opaque data structure to represent a
[dynamically-loaded module][glib-Dynamic-Loading-of-Modules].
It should only be accessed via the following functions.</doc>
<method name="close" c:identifier="g_module_close">
<doc xml:space="preserve">Closes a module.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="module" transfer-ownership="none">
<doc xml:space="preserve">a #GModule to close</doc>
<type name="Module" c:type="GModule*"/>
</instance-parameter>
</parameters>
</method>
<method name="make_resident" c:identifier="g_module_make_resident">
<doc xml:space="preserve">Ensures that a module will never be unloaded.
Any future g_module_close() calls on the module will be ignored.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="module" transfer-ownership="none">
<doc xml:space="preserve">a #GModule to make permanently resident</doc>
<type name="Module" c:type="GModule*"/>
</instance-parameter>
</parameters>
</method>
<method name="name" c:identifier="g_module_name">
<doc xml:space="preserve">Returns the filename that the module was opened with.
If @module refers to the application itself, "main" is returned.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the filename of the module</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<instance-parameter name="module" transfer-ownership="none">
<doc xml:space="preserve">a #GModule</doc>
<type name="Module" c:type="GModule*"/>
</instance-parameter>
</parameters>
</method>
<method name="symbol" c:identifier="g_module_symbol">
<doc xml:space="preserve">Gets a symbol pointer from a module, such as one exported
by #G_MODULE_EXPORT. Note that a valid symbol can be %NULL.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE on success</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="module" transfer-ownership="none">
<doc xml:space="preserve">a #GModule</doc>
<type name="Module" c:type="GModule*"/>
</instance-parameter>
<parameter name="symbol_name" transfer-ownership="none">
<doc xml:space="preserve">the name of the symbol to find</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="symbol" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1">
<doc xml:space="preserve">returns the pointer to the symbol value</doc>
<type name="gpointer" c:type="gpointer*"/>
</parameter>
</parameters>
</method>
<function name="build_path" c:identifier="g_module_build_path">
<doc xml:space="preserve">A portable way to build the filename of a module. The platform-specific
prefix and suffix are added to the filename, if needed, and the result
is added to the directory, using the correct separator character.
The directory should specify the directory where the module can be found.
It can be %NULL or an empty string to indicate that the module is in a
standard platform-specific directory, though this is not recommended
since the wrong module may be found.
For example, calling g_module_build_path() on a Linux system with a
@directory of `/lib` and a @module_name of "mylibrary" will return
`/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the
directory it will return `\Windows\mylibrary.dll`.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">the complete path of the module, including the standard library
prefix and suffix. This should be freed when no longer needed</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="directory" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the directory where the module is. This can be
%NULL or the empty string to indicate that the standard platform-specific
directories will be used, though that is not recommended</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="module_name" transfer-ownership="none">
<doc xml:space="preserve">the name of the module</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="error" c:identifier="g_module_error">
<doc xml:space="preserve">Gets a string describing the last module error.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string describing the last module error</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
<function name="open" c:identifier="g_module_open" introspectable="0">
<doc xml:space="preserve">Opens a module. If the module has already been opened,
its reference count is incremented.
First of all g_module_open() tries to open @file_name as a module.
If that fails and @file_name has the ".la"-suffix (and is a libtool
archive) it tries to open the corresponding module. If that fails
and it doesn't have the proper module suffix for the platform
(#G_MODULE_SUFFIX), this suffix will be appended and the corresponding
module will be opened. If that fails and @file_name doesn't have the
".la"-suffix, this suffix is appended and g_module_open() tries to open
the corresponding module. If eventually that fails as well, %NULL is
returned.</doc>
<return-value>
<doc xml:space="preserve">a #GModule on success, or %NULL on failure</doc>
<type name="Module" c:type="GModule*"/>
</return-value>
<parameters>
<parameter name="file_name" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the name of the file containing the module, or %NULL
to obtain a #GModule representing the main program itself</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve">the flags used for opening the module. This can be the
logical OR of any of the #GModuleFlags</doc>
<type name="ModuleFlags" c:type="GModuleFlags"/>
</parameter>
</parameters>
</function>
<function name="supported" c:identifier="g_module_supported">
<doc xml:space="preserve">Checks if modules are supported on the current platform.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if modules are supported</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
</record>
<callback name="ModuleCheckInit" c:type="GModuleCheckInit">
<doc xml:space="preserve">Specifies the type of the module initialization function.
If a module contains a function named g_module_check_init() it is called
automatically when the module is loaded. It is passed the #GModule structure
and should return %NULL on success or a string describing the initialization
error.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%NULL on success, or a string describing the initialization error</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="module" transfer-ownership="none">
<doc xml:space="preserve">the #GModule corresponding to the module which has just been loaded</doc>
<type name="Module" c:type="GModule*"/>
</parameter>
</parameters>
</callback>
<bitfield name="ModuleFlags" c:type="GModuleFlags">
<doc xml:space="preserve">Flags passed to g_module_open().
Note that these flags are not supported on all platforms.</doc>
<member name="lazy" value="1" c:identifier="G_MODULE_BIND_LAZY">
<doc xml:space="preserve">specifies that symbols are only resolved when
needed. The default action is to bind all symbols when the module
is loaded.</doc>
</member>
<member name="local" value="2" c:identifier="G_MODULE_BIND_LOCAL">
<doc xml:space="preserve">specifies that symbols in the module should
not be added to the global name space. The default action on most
platforms is to place symbols in the module in the global name space,
which may cause conflicts with existing symbols.</doc>
</member>
<member name="mask" value="3" c:identifier="G_MODULE_BIND_MASK">
<doc xml:space="preserve">mask for all flags.</doc>
</member>
</bitfield>
<callback name="ModuleUnload" c:type="GModuleUnload">
<doc xml:space="preserve">Specifies the type of the module function called when it is unloaded.
If a module contains a function named g_module_unload() it is called
automatically when the module is unloaded.
It is passed the #GModule structure.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="module" transfer-ownership="none">
<doc xml:space="preserve">the #GModule about to be unloaded</doc>
<type name="Module" c:type="GModule*"/>
</parameter>
</parameters>
</callback>
<function name="module_build_path" c:identifier="g_module_build_path" moved-to="Module.build_path">
<doc xml:space="preserve">A portable way to build the filename of a module. The platform-specific
prefix and suffix are added to the filename, if needed, and the result
is added to the directory, using the correct separator character.
The directory should specify the directory where the module can be found.
It can be %NULL or an empty string to indicate that the module is in a
standard platform-specific directory, though this is not recommended
since the wrong module may be found.
For example, calling g_module_build_path() on a Linux system with a
@directory of `/lib` and a @module_name of "mylibrary" will return
`/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the
directory it will return `\Windows\mylibrary.dll`.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">the complete path of the module, including the standard library
prefix and suffix. This should be freed when no longer needed</doc>
<type name="utf8" c:type="gchar*"/>
</return-value>
<parameters>
<parameter name="directory" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the directory where the module is. This can be
%NULL or the empty string to indicate that the standard platform-specific
directories will be used, though that is not recommended</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="module_name" transfer-ownership="none">
<doc xml:space="preserve">the name of the module</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</function>
<function name="module_error" c:identifier="g_module_error" moved-to="Module.error">
<doc xml:space="preserve">Gets a string describing the last module error.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a string describing the last module error</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
<function name="module_supported" c:identifier="g_module_supported" moved-to="Module.supported">
<doc xml:space="preserve">Checks if modules are supported on the current platform.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if modules are supported</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<docsection name="modules">
<doc xml:space="preserve">These functions provide a portable way to dynamically load object files
(commonly known as 'plug-ins'). The current implementation supports all
systems that provide an implementation of dlopen() (e.g. Linux/Sun), as
well as Windows platforms via DLLs.
A program which wants to use these functions must be linked to the
libraries output by the command `pkg-config --libs gmodule-2.0`.
To use them you must first determine whether dynamic loading
is supported on the platform by calling g_module_supported().
If it is, you can open a module with g_module_open(),
find the module's symbols (e.g. function names) with g_module_symbol(),
and later close the module with g_module_close().
g_module_name() will return the file name of a currently opened module.
If any of the above functions fail, the error status can be found with
g_module_error().
The #GModule implementation features reference counting for opened modules,
and supports hook functions within a module which are called when the
module is loaded and unloaded (see #GModuleCheckInit and #GModuleUnload).
If your module introduces static data to common subsystems in the running
program, e.g. through calling
`g_quark_from_static_string ("my-module-stuff")`,
it must ensure that it is never unloaded, by calling g_module_make_resident().
Example: Calling a function defined in a GModule
|[&lt;!-- language="C" --&gt;
// the function signature for 'say_hello'
typedef void (* SayHelloFunc) (const char *message);
gboolean
just_say_hello (const char *filename, GError **error)
{
SayHelloFunc say_hello;
GModule *module;
module = g_module_open (filename, G_MODULE_BIND_LAZY);
if (!module)
{
g_set_error (error, FOO_ERROR, FOO_ERROR_BLAH,
"%s", g_module_error ());
return FALSE;
}
if (!g_module_symbol (module, "say_hello", (gpointer *)&amp;say_hello))
{
g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN,
"%s: %s", filename, g_module_error ());
if (!g_module_close (module))
g_warning ("%s: %s", filename, g_module_error ());
return FALSE;
}
if (say_hello == NULL)
{
g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN,
"symbol say_hello is NULL");
if (!g_module_close (module))
g_warning ("%s: %s", filename, g_module_error ());
return FALSE;
}
// call our function in the module
say_hello ("Hello world!");
if (!g_module_close (module))
g_warning ("%s: %s", filename, g_module_error ());
return TRUE;
}
]|</doc>
</docsection>
</namespace>
</repository>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,393 +0,0 @@
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="Gst" version="1.0"/>
<package name="gstreamer-allocators-1.0"/>
<c:include name="gst/allocators/allocators.h"/>
<namespace name="GstAllocators" version="1.0" shared-library="libgstallocators-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<constant name="ALLOCATOR_DMABUF" value="dmabuf" c:type="GST_ALLOCATOR_DMABUF">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="ALLOCATOR_FD" value="fd" c:type="GST_ALLOCATOR_FD">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="CAPS_FEATURE_MEMORY_DMABUF" value="memory:DMABuf" c:type="GST_CAPS_FEATURE_MEMORY_DMABUF" version="1.12">
<doc xml:space="preserve">Constant that defines the caps feature name for DMA buffer sharing.
It has to be used for non-mappable dma-buf only, i.e. when the underlying
memory is not mappable to user space. Or when the mapped memory contains
non meaningful data. It can be the case for protected content or when the
user wants explicitly avoid any software post processing.
In these cases all elements between the exported and the importer has to work
in passthrough mode. This is done by adding this caps feature.
When the memory is mappable for read and write requests then it is assumes
to be a fast path and so this caps feature should not be used. Though
according to the dma-buf protocol, while it is mapped it prevents the
exporter to migrate the buffer.
This caps feature should not serve at all the purpose of selecting the
@GST_ALLOCATOR_DMABUF allocator during caps negotiation.
When the exporter is the upstream element from the importer point of view,
the exporter should try to map the dma buffer at runtime (preferably during
decide_allocation phase). When it succeeds for #GST_MAP_READWRITE this caps
feature should not be used. This allows scalers, color converts and any image
processing filters to work directly on the dma buffer.
In this case the importer element should check all incoming memory using
gst_is_dmabuf_memory().</doc>
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="DMABUF_ALLOCATOR" c:identifier="GST_DMABUF_ALLOCATOR" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="DMABUF_ALLOCATOR_CAST" c:identifier="GST_DMABUF_ALLOCATOR_CAST" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="DMABUF_ALLOCATOR_CLASS" c:identifier="GST_DMABUF_ALLOCATOR_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="DMABUF_ALLOCATOR_GET_CLASS" c:identifier="GST_DMABUF_ALLOCATOR_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="DmaBufAllocator" c:symbol-prefix="dmabuf_allocator" c:type="GstDmaBufAllocator" version="1.12" parent="FdAllocator" glib:type-name="GstDmaBufAllocator" glib:get-type="gst_dmabuf_allocator_get_type" glib:type-struct="DmaBufAllocatorClass">
<doc xml:space="preserve">Base class for allocators with dmabuf-backed memory</doc>
<constructor name="new" c:identifier="gst_dmabuf_allocator_new" version="1.2">
<doc xml:space="preserve">Return a new dmabuf allocator.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new dmabuf allocator, or NULL if the allocator
isn't available. Use gst_object_unref() to release the allocator after
usage</doc>
<type name="Gst.Allocator" c:type="GstAllocator*"/>
</return-value>
</constructor>
<function name="alloc" c:identifier="gst_dmabuf_allocator_alloc" version="1.2">
<doc xml:space="preserve">Return a %GstMemory that wraps a dmabuf file descriptor.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a GstMemory based on @allocator.
When the buffer will be released dmabuf allocator will close the @fd.
The memory is only mmapped on gst_buffer_map() request.</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</return-value>
<parameters>
<parameter name="allocator" transfer-ownership="none">
<doc xml:space="preserve">allocator to be used for this memory</doc>
<type name="Gst.Allocator" c:type="GstAllocator*"/>
</parameter>
<parameter name="fd" transfer-ownership="none">
<doc xml:space="preserve">dmabuf file descriptor</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">memory size</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</function>
<function name="alloc_with_flags" c:identifier="gst_dmabuf_allocator_alloc_with_flags" version="1.16">
<doc xml:space="preserve">Return a %GstMemory that wraps a dmabuf file descriptor.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a GstMemory based on @allocator.
When the buffer will be released the allocator will close the @fd unless
the %GST_FD_MEMORY_FLAG_DONT_CLOSE flag is specified.
The memory is only mmapped on gst_buffer_mmap() request.</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</return-value>
<parameters>
<parameter name="allocator" transfer-ownership="none">
<doc xml:space="preserve">allocator to be used for this memory</doc>
<type name="Gst.Allocator" c:type="GstAllocator*"/>
</parameter>
<parameter name="fd" transfer-ownership="none">
<doc xml:space="preserve">dmabuf file descriptor</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">memory size</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve">extra #GstFdMemoryFlags</doc>
<type name="FdMemoryFlags" c:type="GstFdMemoryFlags"/>
</parameter>
</parameters>
</function>
<field name="parent">
<type name="FdAllocator" c:type="GstFdAllocator"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="DmaBufAllocatorClass" c:type="GstDmaBufAllocatorClass" glib:is-gtype-struct-for="DmaBufAllocator">
<field name="parent_class">
<type name="FdAllocatorClass" c:type="GstFdAllocatorClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="FD_ALLOCATOR" c:identifier="GST_FD_ALLOCATOR" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="FD_ALLOCATOR_CAST" c:identifier="GST_FD_ALLOCATOR_CAST" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="FD_ALLOCATOR_CLASS" c:identifier="GST_FD_ALLOCATOR_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="FD_ALLOCATOR_GET_CLASS" c:identifier="GST_FD_ALLOCATOR_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="FdAllocator" c:symbol-prefix="fd_allocator" c:type="GstFdAllocator" version="1.6" parent="Gst.Allocator" glib:type-name="GstFdAllocator" glib:get-type="gst_fd_allocator_get_type" glib:type-struct="FdAllocatorClass">
<doc xml:space="preserve">Base class for allocators with fd-backed memory</doc>
<constructor name="new" c:identifier="gst_fd_allocator_new" version="1.6">
<doc xml:space="preserve">Return a new fd allocator.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new fd allocator, or NULL if the allocator
isn't available. Use gst_object_unref() to release the allocator after
usage</doc>
<type name="Gst.Allocator" c:type="GstAllocator*"/>
</return-value>
</constructor>
<function name="alloc" c:identifier="gst_fd_allocator_alloc" version="1.6">
<doc xml:space="preserve">Return a %GstMemory that wraps a generic file descriptor.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a GstMemory based on @allocator.
When the buffer will be released the allocator will close the @fd unless
the %GST_FD_MEMORY_FLAG_DONT_CLOSE flag is specified.
The memory is only mmapped on gst_buffer_map() request.</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</return-value>
<parameters>
<parameter name="allocator" transfer-ownership="none">
<doc xml:space="preserve">allocator to be used for this memory</doc>
<type name="Gst.Allocator" c:type="GstAllocator*"/>
</parameter>
<parameter name="fd" transfer-ownership="none">
<doc xml:space="preserve">file descriptor</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve">memory size</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve">extra #GstFdMemoryFlags</doc>
<type name="FdMemoryFlags" c:type="GstFdMemoryFlags"/>
</parameter>
</parameters>
</function>
<field name="parent">
<type name="Gst.Allocator" c:type="GstAllocator"/>
</field>
</class>
<record name="FdAllocatorClass" c:type="GstFdAllocatorClass" glib:is-gtype-struct-for="FdAllocator">
<field name="parent_class">
<type name="Gst.AllocatorClass" c:type="GstAllocatorClass"/>
</field>
</record>
<bitfield name="FdMemoryFlags" version="1.6" c:type="GstFdMemoryFlags">
<doc xml:space="preserve">Various flags to control the operation of the fd backed memory.</doc>
<member name="none" value="0" c:identifier="GST_FD_MEMORY_FLAG_NONE">
<doc xml:space="preserve">no flag</doc>
</member>
<member name="keep_mapped" value="1" c:identifier="GST_FD_MEMORY_FLAG_KEEP_MAPPED">
<doc xml:space="preserve">once the memory is mapped,
keep it mapped until the memory is destroyed.</doc>
</member>
<member name="map_private" value="2" c:identifier="GST_FD_MEMORY_FLAG_MAP_PRIVATE">
<doc xml:space="preserve">do a private mapping instead of
the default shared mapping.</doc>
</member>
<member name="dont_close" value="4" c:identifier="GST_FD_MEMORY_FLAG_DONT_CLOSE">
<doc xml:space="preserve">don't close the file descriptor when
the memory is freed. Since: 1.10</doc>
</member>
</bitfield>
<function-macro name="IS_DMABUF_ALLOCATOR" c:identifier="GST_IS_DMABUF_ALLOCATOR" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DMABUF_ALLOCATOR_CLASS" c:identifier="GST_IS_DMABUF_ALLOCATOR_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FD_ALLOCATOR" c:identifier="GST_IS_FD_ALLOCATOR" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_FD_ALLOCATOR_CLASS" c:identifier="GST_IS_FD_ALLOCATOR_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="PHYS_MEMORY_ALLOCATOR_CAST" c:identifier="GST_PHYS_MEMORY_ALLOCATOR_CAST" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PHYS_MEMORY_ALLOCATOR_GET_INTERFACE" c:identifier="GST_PHYS_MEMORY_ALLOCATOR_GET_INTERFACE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<interface name="PhysMemoryAllocator" c:symbol-prefix="phys_memory_allocator" c:type="GstPhysMemoryAllocator" version="1.14" glib:type-name="GstPhysMemoryAllocator" glib:get-type="gst_phys_memory_allocator_get_type" glib:type-struct="PhysMemoryAllocatorInterface">
<prerequisite name="Gst.Allocator"/>
<virtual-method name="get_phys_addr">
<return-value transfer-ownership="none">
<type name="guintptr" c:type="guintptr"/>
</return-value>
<parameters>
<instance-parameter name="allocator" transfer-ownership="none">
<type name="PhysMemoryAllocator" c:type="GstPhysMemoryAllocator*"/>
</instance-parameter>
<parameter name="mem" transfer-ownership="none">
<type name="Gst.Memory" c:type="GstMemory*"/>
</parameter>
</parameters>
</virtual-method>
</interface>
<record name="PhysMemoryAllocatorInterface" c:type="GstPhysMemoryAllocatorInterface" glib:is-gtype-struct-for="PhysMemoryAllocator" version="1.14">
<doc xml:space="preserve">Marker interface for allocators with physical address backed memory</doc>
<field name="parent_iface" readable="0" private="1">
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
<field name="get_phys_addr">
<callback name="get_phys_addr">
<return-value transfer-ownership="none">
<type name="guintptr" c:type="guintptr"/>
</return-value>
<parameters>
<parameter name="allocator" transfer-ownership="none">
<type name="PhysMemoryAllocator" c:type="GstPhysMemoryAllocator*"/>
</parameter>
<parameter name="mem" transfer-ownership="none">
<type name="Gst.Memory" c:type="GstMemory*"/>
</parameter>
</parameters>
</callback>
</field>
</record>
<function name="dmabuf_memory_get_fd" c:identifier="gst_dmabuf_memory_get_fd" version="1.2">
<doc xml:space="preserve">Return the file descriptor associated with @mem.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the file descriptor associated with the memory, or -1. The file
descriptor is still owned by the GstMemory. Use dup to take a copy
if you intend to use it beyond the lifetime of this GstMemory.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="mem" transfer-ownership="none">
<doc xml:space="preserve">the memory to get the file descriptor</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</parameter>
</parameters>
</function>
<function name="fd_memory_get_fd" c:identifier="gst_fd_memory_get_fd" version="1.6">
<doc xml:space="preserve">Get the fd from @mem. Call gst_is_fd_memory() to check if @mem has
an fd.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the fd of @mem or -1 when there is no fd on @mem</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<parameter name="mem" transfer-ownership="none">
<doc xml:space="preserve">#GstMemory</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</parameter>
</parameters>
</function>
<function name="is_dmabuf_memory" c:identifier="gst_is_dmabuf_memory" version="1.2">
<doc xml:space="preserve">Check if @mem is dmabuf memory.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if @mem is dmabuf memory, otherwise %FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="mem" transfer-ownership="none">
<doc xml:space="preserve">the memory to be check</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</parameter>
</parameters>
</function>
<function name="is_fd_memory" c:identifier="gst_is_fd_memory" version="1.6">
<doc xml:space="preserve">Check if @mem is memory backed by an fd</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE when @mem has an fd that can be retrieved with
gst_fd_memory_get_fd().</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="mem" transfer-ownership="none">
<doc xml:space="preserve">#GstMemory</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</parameter>
</parameters>
</function>
<function name="is_phys_memory" c:identifier="gst_is_phys_memory" version="1.14">
<return-value transfer-ownership="none">
<doc xml:space="preserve">whether the memory at @mem is backed by physical memory</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="mem" transfer-ownership="none">
<doc xml:space="preserve">a #GstMemory</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</parameter>
</parameters>
</function>
<function name="phys_memory_get_phys_addr" c:identifier="gst_phys_memory_get_phys_addr" version="1.14">
<return-value transfer-ownership="none">
<doc xml:space="preserve">Physical memory address that is backing @mem, or 0 if none</doc>
<type name="guintptr" c:type="guintptr"/>
</return-value>
<parameters>
<parameter name="mem" transfer-ownership="none">
<doc xml:space="preserve">a #GstMemory</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,991 +0,0 @@
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="GLib" version="2.0"/>
<include name="GModule" version="2.0"/>
<include name="GObject" version="2.0"/>
<include name="Gst" version="1.0"/>
<package name="gstreamer-controller-1.0"/>
<c:include name="gst/controller/controller.h"/>
<namespace name="GstController" version="1.0" shared-library="libgstcontroller-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<class name="ARGBControlBinding" c:symbol-prefix="argb_control_binding" c:type="GstARGBControlBinding" parent="Gst.ControlBinding" glib:type-name="GstARGBControlBinding" glib:get-type="gst_argb_control_binding_get_type" glib:type-struct="ARGBControlBindingClass">
<doc xml:space="preserve">A value mapping object that attaches multiple control sources to a guint
gobject properties representing a color. A control value of 0.0 will turn the
color component off and a value of 1.0 will be the color level.</doc>
<constructor name="new" c:identifier="gst_argb_control_binding_new">
<doc xml:space="preserve">Create a new control-binding that attaches the given #GstControlSource to the
#GObject property.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the new #GstARGBControlBinding</doc>
<type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve">the object of the property</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve">the property-name to attach the control source</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="cs_a" transfer-ownership="none">
<doc xml:space="preserve">the control source for the alpha channel</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
<parameter name="cs_r" transfer-ownership="none">
<doc xml:space="preserve">the control source for the red channel</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
<parameter name="cs_g" transfer-ownership="none">
<doc xml:space="preserve">the control source for the green channel</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
<parameter name="cs_b" transfer-ownership="none">
<doc xml:space="preserve">the control source for the blue channel</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
</parameters>
</constructor>
<property name="control-source-a" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<property name="control-source-b" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<property name="control-source-g" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<property name="control-source-r" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<field name="parent">
<type name="Gst.ControlBinding" c:type="GstControlBinding"/>
</field>
<field name="cs_a" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cs_r" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cs_g" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cs_b" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cur_value" readable="0" private="1">
<type name="GObject.Value" c:type="GValue"/>
</field>
<field name="last_value" readable="0" private="1">
<type name="guint32" c:type="guint32"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="ARGBControlBindingClass" c:type="GstARGBControlBindingClass" glib:is-gtype-struct-for="ARGBControlBinding">
<doc xml:space="preserve">The class structure of #GstARGBControlBinding.</doc>
<field name="parent_class">
<doc xml:space="preserve">Parent class</doc>
<type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="ARGB_CONTROL_BINDING" c:identifier="GST_ARGB_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="ARGB_CONTROL_BINDING_CLASS" c:identifier="GST_ARGB_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="ARGB_CONTROL_BINDING_GET_CLASS" c:identifier="GST_ARGB_CONTROL_BINDING_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<record name="ControlPoint" c:type="GstControlPoint" glib:type-name="GstControlPoint" glib:get-type="gst_control_point_get_type" c:symbol-prefix="control_point">
<doc xml:space="preserve">An internal structure for value+time and various temporary
values used for interpolation. This "inherits" from
GstTimedValue.</doc>
<field name="timestamp" writable="1">
<doc xml:space="preserve">timestamp of the value change</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="value" writable="1">
<doc xml:space="preserve">the new value</doc>
<type name="gdouble" c:type="gdouble"/>
</field>
<union name="cache" c:type="cache">
<record name="cubic" c:type="cubic">
<field name="h" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="z" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
</record>
<record name="cubic_monotonic" c:type="cubic_monotonic">
<field name="c1s" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="c2s" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="c3s" writable="1">
<type name="gdouble" c:type="gdouble"/>
</field>
</record>
<field name="_gst_reserved" writable="1">
<array zero-terminated="0" fixed-size="64">
<type name="guint8" c:type="guint8"/>
</array>
</field>
</union>
<method name="copy" c:identifier="gst_control_point_copy">
<doc xml:space="preserve">Copies a #GstControlPoint</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A copy of @cp</doc>
<type name="ControlPoint" c:type="GstControlPoint*"/>
</return-value>
<parameters>
<instance-parameter name="cp" transfer-ownership="none">
<doc xml:space="preserve">The control point to copy</doc>
<type name="ControlPoint" c:type="GstControlPoint*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_control_point_free">
<doc xml:space="preserve">Frees all data allocated by a #GstControlPoint instance.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="cp" transfer-ownership="none">
<doc xml:space="preserve">the object to free</doc>
<type name="ControlPoint" c:type="GstControlPoint*"/>
</instance-parameter>
</parameters>
</method>
</record>
<function-macro name="DIRECT_CONTROL_BINDING" c:identifier="GST_DIRECT_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="DIRECT_CONTROL_BINDING_CLASS" c:identifier="GST_DIRECT_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="DIRECT_CONTROL_BINDING_GET_CLASS" c:identifier="GST_DIRECT_CONTROL_BINDING_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="DirectControlBinding" c:symbol-prefix="direct_control_binding" c:type="GstDirectControlBinding" parent="Gst.ControlBinding" glib:type-name="GstDirectControlBinding" glib:get-type="gst_direct_control_binding_get_type" glib:type-struct="DirectControlBindingClass">
<doc xml:space="preserve">A value mapping object that attaches control sources to gobject properties. It
will map the control values directly to the target property range. If a
non-absolute direct control binding is used, the value range [0.0 ... 1.0]
is mapped to full target property range, and all values outside the range
will be clipped. An absolute control binding will not do any value
transformations.</doc>
<constructor name="new" c:identifier="gst_direct_control_binding_new">
<doc xml:space="preserve">Create a new control-binding that attaches the #GstControlSource to the
#GObject property. It will map the control source range [0.0 ... 1.0] to
the full target property range, and clip all values outside this range.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the new #GstDirectControlBinding</doc>
<type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve">the object of the property</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve">the property-name to attach the control source</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="cs" transfer-ownership="none">
<doc xml:space="preserve">the control source</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_absolute" c:identifier="gst_direct_control_binding_new_absolute" version="1.6">
<doc xml:space="preserve">Create a new control-binding that attaches the #GstControlSource to the
#GObject property. It will directly map the control source values to the
target property range without any transformations.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the new #GstDirectControlBinding</doc>
<type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve">the object of the property</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve">the property-name to attach the control source</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="cs" transfer-ownership="none">
<doc xml:space="preserve">the control source</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</parameter>
</parameters>
</constructor>
<property name="absolute" writable="1" construct-only="1" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="control-source" writable="1" construct="1" transfer-ownership="none">
<type name="Gst.ControlSource"/>
</property>
<field name="parent">
<type name="Gst.ControlBinding" c:type="GstControlBinding"/>
</field>
<field name="cs" readable="0" private="1">
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</field>
<field name="cur_value" readable="0" private="1">
<type name="GObject.Value" c:type="GValue"/>
</field>
<field name="last_value" readable="0" private="1">
<type name="gdouble" c:type="gdouble"/>
</field>
<field name="byte_size" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="convert_value" readable="0" private="1">
<type name="DirectControlBindingConvertValue" c:type="GstDirectControlBindingConvertValue"/>
</field>
<field name="convert_g_value" readable="0" private="1">
<type name="DirectControlBindingConvertGValue" c:type="GstDirectControlBindingConvertGValue"/>
</field>
<union name="ABI" c:type="ABI">
<field name="_gst_reserved" writable="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<record name="abi" c:type="abi">
<field name="want_absolute" writable="1">
<type name="gboolean" c:type="gboolean"/>
</field>
</record>
</union>
</class>
<record name="DirectControlBindingClass" c:type="GstDirectControlBindingClass" glib:is-gtype-struct-for="DirectControlBinding">
<doc xml:space="preserve">The class structure of #GstDirectControlBinding.</doc>
<field name="parent_class">
<doc xml:space="preserve">Parent class</doc>
<type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<callback name="DirectControlBindingConvertGValue" c:type="GstDirectControlBindingConvertGValue">
<doc xml:space="preserve">Function to map a control-value to the target GValue.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstDirectControlBinding instance</doc>
<type name="DirectControlBinding" c:type="GstDirectControlBinding*"/>
</parameter>
<parameter name="src_value" transfer-ownership="none">
<doc xml:space="preserve">the value returned by the cotnrol source</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="dest_value" transfer-ownership="none">
<doc xml:space="preserve">the target GValue</doc>
<type name="GObject.Value" c:type="GValue*"/>
</parameter>
</parameters>
</callback>
<callback name="DirectControlBindingConvertValue" c:type="GstDirectControlBindingConvertValue">
<doc xml:space="preserve">Function to map a control-value to the target plain data type.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstDirectControlBinding instance</doc>
<type name="DirectControlBinding" c:type="GstDirectControlBinding*"/>
</parameter>
<parameter name="src_value" transfer-ownership="none">
<doc xml:space="preserve">the value returned by the cotnrol source</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
<parameter name="dest_value" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">the target location</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<function-macro name="INTERPOLATION_CONTROL_SOURCE" c:identifier="GST_INTERPOLATION_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="INTERPOLATION_CONTROL_SOURCE_CLASS" c:identifier="GST_INTERPOLATION_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="INTERPOLATION_CONTROL_SOURCE_GET_CLASS" c:identifier="GST_INTERPOLATION_CONTROL_SOURCE_GET_CLASS" introspectable="0">
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ARGB_CONTROL_BINDING" c:identifier="GST_IS_ARGB_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_ARGB_CONTROL_BINDING_CLASS" c:identifier="GST_IS_ARGB_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DIRECT_CONTROL_BINDING" c:identifier="GST_IS_DIRECT_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_DIRECT_CONTROL_BINDING_CLASS" c:identifier="GST_IS_DIRECT_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INTERPOLATION_CONTROL_SOURCE" c:identifier="GST_IS_INTERPOLATION_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_INTERPOLATION_CONTROL_SOURCE_CLASS" c:identifier="GST_IS_INTERPOLATION_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_LFO_CONTROL_SOURCE" c:identifier="GST_IS_LFO_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_LFO_CONTROL_SOURCE_CLASS" c:identifier="GST_IS_LFO_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_CONTROL_BINDING" c:identifier="GST_IS_PROXY_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PROXY_CONTROL_BINDING_CLASS" c:identifier="GST_IS_PROXY_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TIMED_VALUE_CONTROL_SOURCE" c:identifier="GST_IS_TIMED_VALUE_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TIMED_VALUE_CONTROL_SOURCE_CLASS" c:identifier="GST_IS_TIMED_VALUE_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TRIGGER_CONTROL_SOURCE" c:identifier="GST_IS_TRIGGER_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_TRIGGER_CONTROL_SOURCE_CLASS" c:identifier="GST_IS_TRIGGER_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<class name="InterpolationControlSource" c:symbol-prefix="interpolation_control_source" c:type="GstInterpolationControlSource" parent="TimedValueControlSource" glib:type-name="GstInterpolationControlSource" glib:get-type="gst_interpolation_control_source_get_type" glib:type-struct="InterpolationControlSourceClass">
<doc xml:space="preserve">#GstInterpolationControlSource is a #GstControlSource, that interpolates values between user-given
control points. It supports several interpolation modes and property types.
To use #GstInterpolationControlSource get a new instance by calling
gst_interpolation_control_source_new(), bind it to a #GParamSpec and set some
control points by calling gst_timed_value_control_source_set().
All functions are MT-safe.</doc>
<constructor name="new" c:identifier="gst_interpolation_control_source_new">
<doc xml:space="preserve">This returns a new, unbound #GstInterpolationControlSource.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new, unbound #GstInterpolationControlSource.</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</return-value>
</constructor>
<property name="mode" writable="1" transfer-ownership="none">
<type name="InterpolationMode"/>
</property>
<field name="parent">
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource"/>
</field>
<field name="priv" readable="0" private="1">
<type name="InterpolationControlSourcePrivate" c:type="GstInterpolationControlSourcePrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="InterpolationControlSourceClass" c:type="GstInterpolationControlSourceClass" glib:is-gtype-struct-for="InterpolationControlSource">
<field name="parent_class">
<type name="TimedValueControlSourceClass" c:type="GstTimedValueControlSourceClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="InterpolationControlSourcePrivate" c:type="GstInterpolationControlSourcePrivate" disguised="1"/>
<enumeration name="InterpolationMode" glib:type-name="GstInterpolationMode" glib:get-type="gst_interpolation_mode_get_type" c:type="GstInterpolationMode">
<doc xml:space="preserve">The various interpolation modes available.</doc>
<member name="none" value="0" c:identifier="GST_INTERPOLATION_MODE_NONE" glib:nick="none">
<doc xml:space="preserve">steps-like interpolation, default</doc>
</member>
<member name="linear" value="1" c:identifier="GST_INTERPOLATION_MODE_LINEAR" glib:nick="linear">
<doc xml:space="preserve">linear interpolation</doc>
</member>
<member name="cubic" value="2" c:identifier="GST_INTERPOLATION_MODE_CUBIC" glib:nick="cubic">
<doc xml:space="preserve">cubic interpolation (natural), may overshoot
the min or max values set by the control point, but is more 'curvy'</doc>
</member>
<member name="cubic_monotonic" value="3" c:identifier="GST_INTERPOLATION_MODE_CUBIC_MONOTONIC" glib:nick="cubic-monotonic">
<doc xml:space="preserve">monotonic cubic interpolation, will not
produce any values outside of the min-max range set by the control points
(Since: 1.8)</doc>
</member>
</enumeration>
<class name="LFOControlSource" c:symbol-prefix="lfo_control_source" c:type="GstLFOControlSource" parent="Gst.ControlSource" glib:type-name="GstLFOControlSource" glib:get-type="gst_lfo_control_source_get_type" glib:type-struct="LFOControlSourceClass">
<doc xml:space="preserve">#GstLFOControlSource is a #GstControlSource, that provides several periodic
waveforms as control values.
To use #GstLFOControlSource get a new instance by calling
gst_lfo_control_source_new(), bind it to a #GParamSpec and set the relevant
properties.
All functions are MT-safe.</doc>
<constructor name="new" c:identifier="gst_lfo_control_source_new">
<doc xml:space="preserve">This returns a new, unbound #GstLFOControlSource.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new, unbound #GstLFOControlSource.</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</return-value>
</constructor>
<property name="amplitude" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the amplitude for the waveform of this #GstLFOControlSource.</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="frequency" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the frequency that should be used for the waveform
of this #GstLFOControlSource. It should be large enough
so that the period is longer than one nanosecond.</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="offset" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the value offset for the waveform of this #GstLFOControlSource.</doc>
<type name="gdouble" c:type="gdouble"/>
</property>
<property name="timeshift" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the timeshift to the right that should be used for the waveform
of this #GstLFOControlSource in nanoseconds.
To get a n nanosecond shift to the left use
"(GST_SECOND / frequency) - n".</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="waveform" writable="1" transfer-ownership="none">
<doc xml:space="preserve">Specifies the waveform that should be used for this #GstLFOControlSource.</doc>
<type name="LFOWaveform"/>
</property>
<field name="parent">
<type name="Gst.ControlSource" c:type="GstControlSource"/>
</field>
<field name="priv" readable="0" private="1">
<type name="LFOControlSourcePrivate" c:type="GstLFOControlSourcePrivate*"/>
</field>
<field name="lock" readable="0" private="1">
<type name="GLib.Mutex" c:type="GMutex"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="LFOControlSourceClass" c:type="GstLFOControlSourceClass" glib:is-gtype-struct-for="LFOControlSource">
<field name="parent_class">
<type name="Gst.ControlSourceClass" c:type="GstControlSourceClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="LFOControlSourcePrivate" c:type="GstLFOControlSourcePrivate" disguised="1"/>
<enumeration name="LFOWaveform" glib:type-name="GstLFOWaveform" glib:get-type="gst_lfo_waveform_get_type" c:type="GstLFOWaveform">
<doc xml:space="preserve">The various waveform modes available.</doc>
<member name="sine" value="0" c:identifier="GST_LFO_WAVEFORM_SINE" glib:nick="sine">
<doc xml:space="preserve">sine waveform</doc>
</member>
<member name="square" value="1" c:identifier="GST_LFO_WAVEFORM_SQUARE" glib:nick="square">
<doc xml:space="preserve">square waveform</doc>
</member>
<member name="saw" value="2" c:identifier="GST_LFO_WAVEFORM_SAW" glib:nick="saw">
<doc xml:space="preserve">saw waveform</doc>
</member>
<member name="reverse_saw" value="3" c:identifier="GST_LFO_WAVEFORM_REVERSE_SAW" glib:nick="reverse-saw">
<doc xml:space="preserve">reverse saw waveform</doc>
</member>
<member name="triangle" value="4" c:identifier="GST_LFO_WAVEFORM_TRIANGLE" glib:nick="triangle">
<doc xml:space="preserve">triangle waveform</doc>
</member>
</enumeration>
<function-macro name="LFO_CONTROL_SOURCE" c:identifier="GST_LFO_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="LFO_CONTROL_SOURCE_CLASS" c:identifier="GST_LFO_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="LFO_CONTROL_SOURCE_GET_CLASS" c:identifier="GST_LFO_CONTROL_SOURCE_GET_CLASS" introspectable="0">
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_CONTROL_BINDING" c:identifier="GST_PROXY_CONTROL_BINDING" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_CONTROL_BINDING_CLASS" c:identifier="GST_PROXY_CONTROL_BINDING_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="PROXY_CONTROL_BINDING_GET_CLASS" c:identifier="GST_PROXY_CONTROL_BINDING_GET_CLASS" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<class name="ProxyControlBinding" c:symbol-prefix="proxy_control_binding" c:type="GstProxyControlBinding" parent="Gst.ControlBinding" glib:type-name="GstProxyControlBinding" glib:get-type="gst_proxy_control_binding_get_type" glib:type-struct="ProxyControlBindingClass">
<doc xml:space="preserve">A #GstControlBinding that forwards requests to another #GstControlBinding</doc>
<constructor name="new" c:identifier="gst_proxy_control_binding_new" version="1.12">
<doc xml:space="preserve">#GstProxyControlBinding forwards all access to data or `sync_values()`
requests from @property_name on @object to the control binding at
@ref_property_name on @ref_object.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a new #GstControlBinding that proxies the control interface between
properties on different #GstObject's</doc>
<type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
</return-value>
<parameters>
<parameter name="object" transfer-ownership="none">
<doc xml:space="preserve">a #GstObject</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="property_name" transfer-ownership="none">
<doc xml:space="preserve">the property name in @object to control</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="ref_object" transfer-ownership="none">
<doc xml:space="preserve">a #GstObject to forward all
#GstControlBinding requests to</doc>
<type name="Gst.Object" c:type="GstObject*"/>
</parameter>
<parameter name="ref_property_name" transfer-ownership="none">
<doc xml:space="preserve">the property_name in @ref_object to control</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<field name="parent" readable="0" private="1">
<type name="Gst.ControlBinding" c:type="GstControlBinding"/>
</field>
<field name="ref_object" readable="0" private="1">
<type name="GObject.WeakRef" c:type="GWeakRef"/>
</field>
<field name="property_name" readable="0" private="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="_padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="ProxyControlBindingClass" c:type="GstProxyControlBindingClass" glib:is-gtype-struct-for="ProxyControlBinding">
<doc xml:space="preserve">Opaque #GstProxyControlBindingClass struct</doc>
<field name="parent_class" readable="0" private="1">
<type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
</field>
<field name="_padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE_CLASS" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE_GET_CLASS" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_GET_CLASS" introspectable="0">
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE_LOCK" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_LOCK" introspectable="0">
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TIMED_VALUE_CONTROL_SOURCE_UNLOCK" c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_UNLOCK" introspectable="0">
<parameters>
<parameter name="o">
</parameter>
</parameters>
</function-macro>
<function-macro name="TRIGGER_CONTROL_SOURCE" c:identifier="GST_TRIGGER_CONTROL_SOURCE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="TRIGGER_CONTROL_SOURCE_CLASS" c:identifier="GST_TRIGGER_CONTROL_SOURCE_CLASS" introspectable="0">
<parameters>
<parameter name="vtable">
</parameter>
</parameters>
</function-macro>
<function-macro name="TRIGGER_CONTROL_SOURCE_GET_CLASS" c:identifier="GST_TRIGGER_CONTROL_SOURCE_GET_CLASS" introspectable="0">
<parameters>
<parameter name="inst">
</parameter>
</parameters>
</function-macro>
<class name="TimedValueControlSource" c:symbol-prefix="timed_value_control_source" c:type="GstTimedValueControlSource" parent="Gst.ControlSource" abstract="1" glib:type-name="GstTimedValueControlSource" glib:get-type="gst_timed_value_control_source_get_type" glib:type-struct="TimedValueControlSourceClass">
<doc xml:space="preserve">Base class for #GstControlSource that use time-stamped values.
When overriding bind, chain up first to give this bind implementation a
chance to setup things.
All functions are MT-safe.</doc>
<method name="find_control_point_iter" c:identifier="gst_timed_value_control_source_find_control_point_iter">
<doc xml:space="preserve">Find last value before given timestamp in control point list.
If all values in the control point list come after the given
timestamp or no values exist, %NULL is returned.
For use in control source implementations.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the found #GSequenceIter or %NULL</doc>
<type name="GLib.SequenceIter" c:type="GSequenceIter*"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the control source to search in</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve">the search key</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="get_all" c:identifier="gst_timed_value_control_source_get_all">
<doc xml:space="preserve">Returns a read-only copy of the list of #GstTimedValue for the given property.
Free the list after done with it.</doc>
<return-value transfer-ownership="container">
<doc xml:space="preserve">a copy
of the list, or %NULL if the property isn't handled by the controller</doc>
<type name="GLib.List" c:type="GList*">
<type name="Gst.TimedValue"/>
</type>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource to get the list from</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_count" c:identifier="gst_timed_value_control_source_get_count">
<doc xml:space="preserve">Get the number of control points that are set.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the number of control points that are set.</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource to get the number of values from</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
</parameters>
</method>
<method name="set" c:identifier="gst_timed_value_control_source_set">
<doc xml:space="preserve">Set the value of given controller-handled property at a certain time.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">FALSE if the values couldn't be set, TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve">the time the control-change is scheduled for</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
<parameter name="value" transfer-ownership="none">
<doc xml:space="preserve">the control-value</doc>
<type name="gdouble" c:type="const gdouble"/>
</parameter>
</parameters>
</method>
<method name="set_from_list" c:identifier="gst_timed_value_control_source_set_from_list">
<doc xml:space="preserve">Sets multiple timed values at once.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">FALSE if the values couldn't be set, TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
<parameter name="timedvalues" transfer-ownership="none">
<doc xml:space="preserve">a list
with #GstTimedValue items</doc>
<type name="GLib.SList" c:type="const GSList*">
<type name="Gst.TimedValue"/>
</type>
</parameter>
</parameters>
</method>
<method name="unset" c:identifier="gst_timed_value_control_source_unset">
<doc xml:space="preserve">Used to remove the value of given controller-handled property at a certain
time.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
<parameter name="timestamp" transfer-ownership="none">
<doc xml:space="preserve">the time the control-change should be removed from</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</method>
<method name="unset_all" c:identifier="gst_timed_value_control_source_unset_all">
<doc xml:space="preserve">Used to remove all time-stamped values of given controller-handled property</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource object</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</instance-parameter>
</parameters>
</method>
<field name="parent">
<type name="Gst.ControlSource" c:type="GstControlSource"/>
</field>
<field name="lock">
<type name="GLib.Mutex" c:type="GMutex"/>
</field>
<field name="values">
<type name="GLib.Sequence" c:type="GSequence*"/>
</field>
<field name="nvalues">
<type name="gint" c:type="gint"/>
</field>
<field name="valid_cache">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="priv" readable="0" private="1">
<type name="TimedValueControlSourcePrivate" c:type="GstTimedValueControlSourcePrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<glib:signal name="value-added" when="first" version="1.6">
<doc xml:space="preserve">Emitted right after the new value has been added to @self</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="timed_value" transfer-ownership="none">
<doc xml:space="preserve">The newly added #GstTimedValue</doc>
<type name="ControlPoint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="value-changed" when="first" version="1.6">
<doc xml:space="preserve">Emitted right after the new value has been set on @timed_signals</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="timed_value" transfer-ownership="none">
<doc xml:space="preserve">The #GstTimedValue where the value changed</doc>
<type name="ControlPoint"/>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="value-removed" when="first" version="1.6">
<doc xml:space="preserve">Emitted when @timed_value is removed from @self</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="timed_value" transfer-ownership="none">
<doc xml:space="preserve">The removed #GstTimedValue</doc>
<type name="ControlPoint"/>
</parameter>
</parameters>
</glib:signal>
</class>
<record name="TimedValueControlSourceClass" c:type="GstTimedValueControlSourceClass" glib:is-gtype-struct-for="TimedValueControlSource">
<field name="parent_class">
<type name="Gst.ControlSourceClass" c:type="GstControlSourceClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="TimedValueControlSourcePrivate" c:type="GstTimedValueControlSourcePrivate" disguised="1"/>
<class name="TriggerControlSource" c:symbol-prefix="trigger_control_source" c:type="GstTriggerControlSource" parent="TimedValueControlSource" glib:type-name="GstTriggerControlSource" glib:get-type="gst_trigger_control_source_get_type" glib:type-struct="TriggerControlSourceClass">
<doc xml:space="preserve">#GstTriggerControlSource is a #GstControlSource, that returns values from user-given
control points. It allows for a tolerance on the time-stamps.
To use #GstTriggerControlSource get a new instance by calling
gst_trigger_control_source_new(), bind it to a #GParamSpec and set some
control points by calling gst_timed_value_control_source_set().
All functions are MT-safe.</doc>
<constructor name="new" c:identifier="gst_trigger_control_source_new">
<doc xml:space="preserve">This returns a new, unbound #GstTriggerControlSource.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new, unbound #GstTriggerControlSource.</doc>
<type name="Gst.ControlSource" c:type="GstControlSource*"/>
</return-value>
</constructor>
<property name="tolerance" writable="1" transfer-ownership="none">
<type name="gint64" c:type="gint64"/>
</property>
<field name="parent">
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource"/>
</field>
<field name="priv" readable="0" private="1">
<type name="TriggerControlSourcePrivate" c:type="GstTriggerControlSourcePrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="TriggerControlSourceClass" c:type="GstTriggerControlSourceClass" glib:is-gtype-struct-for="TriggerControlSource">
<field name="parent_class">
<type name="TimedValueControlSourceClass" c:type="GstTimedValueControlSourceClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="TriggerControlSourcePrivate" c:type="GstTriggerControlSourcePrivate" disguised="1"/>
<function name="timed_value_control_invalidate_cache" c:identifier="gst_timed_value_control_invalidate_cache">
<doc xml:space="preserve">Reset the controlled value cache.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="self" transfer-ownership="none">
<doc xml:space="preserve">the #GstTimedValueControlSource</doc>
<type name="TimedValueControlSource" c:type="GstTimedValueControlSource*"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>

File diff suppressed because it is too large Load diff

View file

@ -1,167 +0,0 @@
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="Gst" version="1.0"/>
<include name="GstBase" version="1.0"/>
<include name="GstGL" version="1.0"/>
<include name="GstVideo" version="1.0"/>
<package name="gstreamer-gl-egl-1.0"/>
<c:include name="gst/gl/egl/egl.h"/>
<namespace name="GstGLEGL" version="1.0" shared-library="libgstgl-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<class name="GLDisplayEGL" c:symbol-prefix="gl_display_egl" c:type="GstGLDisplayEGL" parent="GstGL.GLDisplay" glib:type-name="GstGLDisplayEGL" glib:get-type="gst_gl_display_egl_get_type" glib:type-struct="GLDisplayEGLClass">
<doc xml:space="preserve">the contents of a #GstGLDisplayEGL are private and should only be accessed
through the provided API</doc>
<constructor name="new" c:identifier="gst_gl_display_egl_new">
<doc xml:space="preserve">Create a new #GstGLDisplayEGL using the default EGL_DEFAULT_DISPLAY.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstGLDisplayEGL or %NULL</doc>
<type name="GLDisplayEGL" c:type="GstGLDisplayEGL*"/>
</return-value>
</constructor>
<constructor name="new_with_egl_display" c:identifier="gst_gl_display_egl_new_with_egl_display">
<return-value transfer-ownership="none">
<type name="GLDisplayEGL" c:type="GstGLDisplayEGL*"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none" nullable="1" allow-none="1">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</constructor>
<function name="from_gl_display" c:identifier="gst_gl_display_egl_from_gl_display" version="1.12">
<doc xml:space="preserve">Creates a EGL display connection from a native Display.
This function will return the same value for multiple calls with the same
@display.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstGLDisplayEGL</doc>
<type name="GLDisplayEGL" c:type="GstGLDisplayEGL*"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<doc xml:space="preserve">an existing #GstGLDisplay</doc>
<type name="GstGL.GLDisplay" c:type="GstGLDisplay*"/>
</parameter>
</parameters>
</function>
<function name="get_from_native" c:identifier="gst_gl_display_egl_get_from_native" version="1.12">
<doc xml:space="preserve">Attempts to create a new `EGLDisplay` from @display. If @type is
%GST_GL_DISPLAY_TYPE_ANY, then @display must be 0. @type must not be
%GST_GL_DISPLAY_TYPE_NONE.</doc>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve">A `EGLDisplay` or `EGL_NO_DISPLAY`</doc>
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<parameter name="type" transfer-ownership="none">
<doc xml:space="preserve">a #GstGLDisplayType</doc>
<type name="GstGL.GLDisplayType" c:type="GstGLDisplayType"/>
</parameter>
<parameter name="display" transfer-ownership="none">
<doc xml:space="preserve">pointer to a display (or 0)</doc>
<type name="guintptr" c:type="guintptr"/>
</parameter>
</parameters>
</function>
<field name="parent">
<type name="GstGL.GLDisplay" c:type="GstGLDisplay"/>
</field>
<field name="display" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="foreign_display" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="GLDisplayEGLClass" c:type="GstGLDisplayEGLClass" glib:is-gtype-struct-for="GLDisplayEGL">
<field name="object_class">
<type name="GstGL.GLDisplayClass" c:type="GstGLDisplayClass"/>
</field>
<field name="_padding">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="GL_DISPLAY_EGL" c:identifier="GST_GL_DISPLAY_EGL" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="GL_DISPLAY_EGL_CAST" c:identifier="GST_GL_DISPLAY_EGL_CAST" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="GL_DISPLAY_EGL_CLASS" c:identifier="GST_GL_DISPLAY_EGL_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="GL_DISPLAY_EGL_DEVICE" c:identifier="GST_GL_DISPLAY_EGL_DEVICE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="GL_DISPLAY_EGL_DEVICE_CAST" c:identifier="GST_GL_DISPLAY_EGL_DEVICE_CAST" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="GL_DISPLAY_EGL_DEVICE_CLASS" c:identifier="GST_GL_DISPLAY_EGL_DEVICE_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<constant name="GL_DISPLAY_EGL_NAME" value="gst.gl.display.egl" c:type="GST_GL_DISPLAY_EGL_NAME">
<type name="utf8" c:type="gchar*"/>
</constant>
<function-macro name="IS_GL_DISPLAY_EGL" c:identifier="GST_IS_GL_DISPLAY_EGL" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_GL_DISPLAY_EGL_CLASS" c:identifier="GST_IS_GL_DISPLAY_EGL_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_GL_DISPLAY_EGL_DEVICE" c:identifier="GST_IS_GL_DISPLAY_EGL_DEVICE" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_GL_DISPLAY_EGL_DEVICE_CLASS" c:identifier="GST_IS_GL_DISPLAY_EGL_DEVICE_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<docsection name="gstgldisplay_egl">
<doc xml:space="preserve">#GstGLDisplayEGL represents a connection to an EGL `EGLDisplay` handle created
internally (gst_gl_display_egl_new()) or wrapped by the application
(gst_gl_display_egl_new_with_egl_display())</doc>
</docsection>
<docsection name="gstgldisplay_egl_device">
<doc xml:space="preserve">#GstGLDisplayEGLDevice represents a `EGLDeviceEXT` handle created internally
(gst_gl_display_egl_device_new()) or wrapped by the application
(gst_gl_display_egl_device_new_with_egl_device())</doc>
</docsection>
</namespace>
</repository>

View file

@ -1,116 +0,0 @@
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="Gst" version="1.0"/>
<include name="GstBase" version="1.0"/>
<include name="GstGL" version="1.0"/>
<include name="GstVideo" version="1.0"/>
<package name="gstreamer-gl-wayland-1.0"/>
<c:include name="gst/gl/wayland/wayland.h"/>
<namespace name="GstGLWayland" version="1.0" shared-library="libgstgl-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<class name="GLDisplayWayland" c:symbol-prefix="gl_display_wayland" c:type="GstGLDisplayWayland" parent="GstGL.GLDisplay" glib:type-name="GstGLDisplayWayland" glib:get-type="gst_gl_display_wayland_get_type" glib:type-struct="GLDisplayWaylandClass">
<doc xml:space="preserve">the contents of a #GstGLDisplayWayland are private and should only be accessed
through the provided API</doc>
<constructor name="new" c:identifier="gst_gl_display_wayland_new">
<doc xml:space="preserve">Create a new #GstGLDisplayWayland from the wayland display name. See `wl_display_connect`()
for details on what is a valid name.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstGLDisplayWayland or %NULL</doc>
<type name="GLDisplayWayland" c:type="GstGLDisplayWayland*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">a display name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_display" c:identifier="gst_gl_display_wayland_new_with_display">
<doc xml:space="preserve">Creates a new display connection from a wl_display Display.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstGLDisplayWayland</doc>
<type name="GLDisplayWayland" c:type="GstGLDisplayWayland*"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">an existing, wayland display</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</constructor>
<field name="parent">
<type name="GstGL.GLDisplay" c:type="GstGLDisplay"/>
</field>
<field name="display">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="registry">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="compositor">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="subcompositor">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="shell">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="foreign_display" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="GLDisplayWaylandClass" c:type="GstGLDisplayWaylandClass" glib:is-gtype-struct-for="GLDisplayWayland">
<field name="object_class">
<type name="GstGL.GLDisplayClass" c:type="GstGLDisplayClass"/>
</field>
<field name="_padding">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="GL_DISPLAY_WAYLAND" c:identifier="GST_GL_DISPLAY_WAYLAND" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="GL_DISPLAY_WAYLAND_CAST" c:identifier="GST_GL_DISPLAY_WAYLAND_CAST" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="GL_DISPLAY_WAYLAND_CLASS" c:identifier="GST_GL_DISPLAY_WAYLAND_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_GL_DISPLAY_WAYLAND" c:identifier="GST_IS_GL_DISPLAY_WAYLAND" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_GL_DISPLAY_WAYLAND_CLASS" c:identifier="GST_IS_GL_DISPLAY_WAYLAND_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<docsection name="gstgldisplay_wayland">
<doc xml:space="preserve">#GstGLDisplayWayland represents a connection to a Wayland `wl_display` handle
created internally (gst_gl_display_wayland_new()) or wrapped by the application
(gst_gl_display_wayland_new_with_display())</doc>
</docsection>
</namespace>
</repository>

View file

@ -1,110 +0,0 @@
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="Gst" version="1.0"/>
<include name="GstBase" version="1.0"/>
<include name="GstGL" version="1.0"/>
<include name="GstVideo" version="1.0"/>
<package name="gstreamer-gl-x11-1.0"/>
<c:include name="gst/gl/x11/x11.h"/>
<namespace name="GstGLX11" version="1.0" shared-library="libgstgl-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<class name="GLDisplayX11" c:symbol-prefix="gl_display_x11" c:type="GstGLDisplayX11" parent="GstGL.GLDisplay" glib:type-name="GstGLDisplayX11" glib:get-type="gst_gl_display_x11_get_type" glib:type-struct="GLDisplayX11Class">
<doc xml:space="preserve">the contents of a #GstGLDisplayX11 are private and should only be accessed
through the provided API</doc>
<constructor name="new" c:identifier="gst_gl_display_x11_new">
<doc xml:space="preserve">Create a new #GstGLDisplayX11 from the x11 display name. See `XOpenDisplay`()
for details on what is a valid name.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstGLDisplayX11 or %NULL</doc>
<type name="GLDisplayX11" c:type="GstGLDisplayX11*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">a display name</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
</parameters>
</constructor>
<constructor name="new_with_display" c:identifier="gst_gl_display_x11_new_with_display" introspectable="0">
<doc xml:space="preserve">Creates a new display connection from a X11 Display.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstGLDisplayX11</doc>
<type name="GLDisplayX11" c:type="GstGLDisplayX11*"/>
</return-value>
<parameters>
<parameter name="display" transfer-ownership="none">
<doc xml:space="preserve">an existing, x11 display</doc>
<type c:type="gpointer" name="gpointer"/>
</parameter>
</parameters>
</constructor>
<field name="parent" readable="0" private="1">
<type name="GstGL.GLDisplay" c:type="GstGLDisplay"/>
</field>
<field name="name" readable="0" private="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="display" introspectable="0" readable="0" private="1">
<type c:type="gpointer" name="gpointer"/>
</field>
<field name="xcb_connection" introspectable="0" readable="0" private="1">
<type c:type="gpointer" name="gpointer"/>
</field>
<field name="foreign_display" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="_padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="GLDisplayX11Class" c:type="GstGLDisplayX11Class" glib:is-gtype-struct-for="GLDisplayX11">
<field name="object_class">
<type name="GstGL.GLDisplayClass" c:type="GstGLDisplayClass"/>
</field>
<field name="_padding">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="GL_DISPLAY_X11" c:identifier="GST_GL_DISPLAY_X11" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="GL_DISPLAY_X11_CAST" c:identifier="GST_GL_DISPLAY_X11_CAST" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="GL_DISPLAY_X11_CLASS" c:identifier="GST_GL_DISPLAY_X11_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_GL_DISPLAY_X11" c:identifier="GST_IS_GL_DISPLAY_X11" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_GL_DISPLAY_X11_CLASS" c:identifier="GST_IS_GL_DISPLAY_X11_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<docsection name="gstgldisplay_x11">
<doc xml:space="preserve">#GstGLDisplayX11 represents a connection to an X11 `Display` handle created
internally (gst_gl_display_x11_new()) or wrapped by the application
(gst_gl_display_x11_new_with_display())</doc>
</docsection>
</namespace>
</repository>

File diff suppressed because it is too large Load diff

View file

@ -1,850 +0,0 @@
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="GLib" version="2.0"/>
<include name="GModule" version="2.0"/>
<include name="GObject" version="2.0"/>
<include name="Gio" version="2.0"/>
<include name="Gst" version="1.0"/>
<package name="gstreamer-net-1.0"/>
<c:include name="gst/net/net.h"/>
<namespace name="GstNet" version="1.0" shared-library="libgstnet-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<function-macro name="IS_NET_CLIENT_CLOCK" c:identifier="GST_IS_NET_CLIENT_CLOCK" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NET_CLIENT_CLOCK_CLASS" c:identifier="GST_IS_NET_CLIENT_CLOCK_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NET_TIME_PROVIDER" c:identifier="GST_IS_NET_TIME_PROVIDER" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NET_TIME_PROVIDER_CLASS" c:identifier="GST_IS_NET_TIME_PROVIDER_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NTP_CLOCK" c:identifier="GST_IS_NTP_CLOCK" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_NTP_CLOCK_CLASS" c:identifier="GST_IS_NTP_CLOCK_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PTP_CLOCK" c:identifier="GST_IS_PTP_CLOCK" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_PTP_CLOCK_CLASS" c:identifier="GST_IS_PTP_CLOCK_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="NET_CLIENT_CLOCK" c:identifier="GST_NET_CLIENT_CLOCK" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="NET_CLIENT_CLOCK_CLASS" c:identifier="GST_NET_CLIENT_CLOCK_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<constant name="NET_TIME_PACKET_SIZE" value="16" c:type="GST_NET_TIME_PACKET_SIZE">
<doc xml:space="preserve">The size of the packets sent between network clocks.</doc>
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="NET_TIME_PROVIDER" c:identifier="GST_NET_TIME_PROVIDER" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="NET_TIME_PROVIDER_CLASS" c:identifier="GST_NET_TIME_PROVIDER_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="NTP_CLOCK" c:identifier="GST_NTP_CLOCK" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="NTP_CLOCK_CLASS" c:identifier="GST_NTP_CLOCK_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<record name="NetAddressMeta" c:type="GstNetAddressMeta">
<doc xml:space="preserve">#GstNetAddressMeta can be used to store a network address (a #GSocketAddress)
in a #GstBuffer so that it network elements can track the to and from address
of the buffer.</doc>
<field name="meta" writable="1">
<doc xml:space="preserve">the parent type</doc>
<type name="Gst.Meta" c:type="GstMeta"/>
</field>
<field name="addr" writable="1">
<doc xml:space="preserve">a #GSocketAddress stored as metadata</doc>
<type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
</field>
<function name="get_info" c:identifier="gst_net_address_meta_get_info">
<return-value transfer-ownership="none">
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
</return-value>
</function>
</record>
<class name="NetClientClock" c:symbol-prefix="net_client_clock" c:type="GstNetClientClock" parent="Gst.SystemClock" glib:type-name="GstNetClientClock" glib:get-type="gst_net_client_clock_get_type" glib:type-struct="NetClientClockClass">
<doc xml:space="preserve">#GstNetClientClock implements a custom #GstClock that synchronizes its time
to a remote time provider such as #GstNetTimeProvider. #GstNtpClock
implements a #GstClock that synchronizes its time to a remote NTPv4 server.
A new clock is created with gst_net_client_clock_new() or
gst_ntp_clock_new(), which takes the address and port of the remote time
provider along with a name and an initial time.
This clock will poll the time provider and will update its calibration
parameters based on the local and remote observations.
The "round-trip" property limits the maximum round trip packets can take.
Various parameters of the clock can be configured with the parent #GstClock
"timeout", "window-size" and "window-threshold" object properties.
A #GstNetClientClock and #GstNtpClock is typically set on a #GstPipeline with
gst_pipeline_use_clock().
If you set a #GstBus on the clock via the "bus" object property, it will
send @GST_MESSAGE_ELEMENT messages with an attached #GstStructure containing
statistics about clock accuracy and network traffic.</doc>
<constructor name="new" c:identifier="gst_net_client_clock_new">
<doc xml:space="preserve">Create a new #GstNetClientClock that will report the time
provided by the #GstNetTimeProvider on @remote_address and
@remote_port.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstClock that receives a time from the remote
clock.</doc>
<type name="Gst.Clock" c:type="GstClock*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve">a name for the clock</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="remote_address" transfer-ownership="none">
<doc xml:space="preserve">the address or hostname of the remote clock provider</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="remote_port" transfer-ownership="none">
<doc xml:space="preserve">the port of the remote clock provider</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="base_time" transfer-ownership="none">
<doc xml:space="preserve">initial time of the clock</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</constructor>
<property name="address" writable="1" construct="1" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</property>
<property name="base-time" writable="1" construct-only="1" transfer-ownership="none">
<type name="guint64" c:type="guint64"/>
</property>
<property name="bus" writable="1" transfer-ownership="none">
<type name="Gst.Bus"/>
</property>
<property name="internal-clock" transfer-ownership="none">
<type name="Gst.Clock"/>
</property>
<property name="minimum-update-interval" writable="1" transfer-ownership="none">
<type name="guint64" c:type="guint64"/>
</property>
<property name="port" writable="1" construct="1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</property>
<property name="qos-dscp" writable="1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</property>
<property name="round-trip-limit" writable="1" transfer-ownership="none">
<type name="guint64" c:type="guint64"/>
</property>
<field name="clock">
<type name="Gst.SystemClock" c:type="GstSystemClock"/>
</field>
<field name="priv" readable="0" private="1">
<type name="NetClientClockPrivate" c:type="GstNetClientClockPrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="NetClientClockClass" c:type="GstNetClientClockClass" glib:is-gtype-struct-for="NetClientClock">
<field name="parent_class">
<type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="NetClientClockPrivate" c:type="GstNetClientClockPrivate" disguised="1"/>
<record name="NetControlMessageMeta" c:type="GstNetControlMessageMeta">
<doc xml:space="preserve">#GstNetControlMessageMeta can be used to store control messages (ancillary
data) which was received with or is to be sent alongside the buffer data.
When used with socket sinks and sources which understand this meta it allows
sending and receiving ancillary data such as unix credentials (See
#GUnixCredentialsMessage) and Unix file descriptions (See #GUnixFDMessage).</doc>
<field name="meta" writable="1">
<doc xml:space="preserve">the parent type</doc>
<type name="Gst.Meta" c:type="GstMeta"/>
</field>
<field name="message" writable="1">
<doc xml:space="preserve">a #GSocketControlMessage stored as metadata</doc>
<type name="Gio.SocketControlMessage" c:type="GSocketControlMessage*"/>
</field>
<function name="get_info" c:identifier="gst_net_control_message_meta_get_info">
<return-value transfer-ownership="none">
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
</return-value>
</function>
</record>
<record name="NetTimePacket" c:type="GstNetTimePacket" glib:type-name="GstNetTimePacket" glib:get-type="gst_net_time_packet_get_type" c:symbol-prefix="net_time_packet">
<doc xml:space="preserve">Various functions for receiving, sending an serializing #GstNetTimePacket
structures.</doc>
<field name="local_time" writable="1">
<doc xml:space="preserve">the local time when this packet was sent</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<field name="remote_time" writable="1">
<doc xml:space="preserve">the remote time observation</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</field>
<constructor name="new" c:identifier="gst_net_time_packet_new">
<doc xml:space="preserve">Creates a new #GstNetTimePacket from a buffer received over the network. The
caller is responsible for ensuring that @buffer is at least
#GST_NET_TIME_PACKET_SIZE bytes long.
If @buffer is %NULL, the local and remote times will be set to
#GST_CLOCK_TIME_NONE.
MT safe. Caller owns return value (gst_net_time_packet_free to free).</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">The new #GstNetTimePacket.</doc>
<type name="NetTimePacket" c:type="GstNetTimePacket*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve">a buffer from which to construct the packet, or NULL</doc>
<array zero-terminated="0" c:type="const guint8*">
<type name="guint8" c:type="guint8"/>
</array>
</parameter>
</parameters>
</constructor>
<method name="copy" c:identifier="gst_net_time_packet_copy">
<doc xml:space="preserve">Make a copy of @packet.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a copy of @packet, free with gst_net_time_packet_free().</doc>
<type name="NetTimePacket" c:type="GstNetTimePacket*"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve">the #GstNetTimePacket</doc>
<type name="NetTimePacket" c:type="const GstNetTimePacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_net_time_packet_free">
<doc xml:space="preserve">Free @packet.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve">the #GstNetTimePacket</doc>
<type name="NetTimePacket" c:type="GstNetTimePacket*"/>
</instance-parameter>
</parameters>
</method>
<method name="send" c:identifier="gst_net_time_packet_send" throws="1">
<doc xml:space="preserve">Sends a #GstNetTimePacket over a socket.
MT safe.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">TRUE if successful, FALSE in case an error occurred.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve">the #GstNetTimePacket to send</doc>
<type name="NetTimePacket" c:type="const GstNetTimePacket*"/>
</instance-parameter>
<parameter name="socket" transfer-ownership="none">
<doc xml:space="preserve">socket to send the time packet on</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</parameter>
<parameter name="dest_address" transfer-ownership="none">
<doc xml:space="preserve">address to send the time packet to</doc>
<type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
</parameter>
</parameters>
</method>
<method name="serialize" c:identifier="gst_net_time_packet_serialize">
<doc xml:space="preserve">Serialized a #GstNetTimePacket into a newly-allocated sequence of
#GST_NET_TIME_PACKET_SIZE bytes, in network byte order. The value returned is
suitable for passing to write(2) or sendto(2) for communication over the
network.
MT safe. Caller owns return value (g_free to free).</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes.</doc>
<type name="guint8" c:type="guint8*"/>
</return-value>
<parameters>
<instance-parameter name="packet" transfer-ownership="none">
<doc xml:space="preserve">the #GstNetTimePacket</doc>
<type name="NetTimePacket" c:type="const GstNetTimePacket*"/>
</instance-parameter>
</parameters>
</method>
<function name="receive" c:identifier="gst_net_time_packet_receive" throws="1">
<doc xml:space="preserve">Receives a #GstNetTimePacket over a socket. Handles interrupted system
calls, but otherwise returns NULL on error.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstNetTimePacket, or NULL on error. Free
with gst_net_time_packet_free() when done.</doc>
<type name="NetTimePacket" c:type="GstNetTimePacket*"/>
</return-value>
<parameters>
<parameter name="socket" transfer-ownership="none">
<doc xml:space="preserve">socket to receive the time packet on</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</parameter>
<parameter name="src_address" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">address of variable to return sender address</doc>
<type name="Gio.SocketAddress" c:type="GSocketAddress**"/>
</parameter>
</parameters>
</function>
</record>
<class name="NetTimeProvider" c:symbol-prefix="net_time_provider" c:type="GstNetTimeProvider" parent="Gst.Object" glib:type-name="GstNetTimeProvider" glib:get-type="gst_net_time_provider_get_type" glib:type-struct="NetTimeProviderClass">
<doc xml:space="preserve">This object exposes the time of a #GstClock on the network.
A #GstNetTimeProvider is created with gst_net_time_provider_new() which
takes a #GstClock, an address and a port number as arguments.
After creating the object, a client clock such as #GstNetClientClock can
query the exposed clock over the network for its values.
The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline.</doc>
<implements name="Gio.Initable"/>
<constructor name="new" c:identifier="gst_net_time_provider_new">
<doc xml:space="preserve">Allows network clients to get the current time of @clock.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">the new #GstNetTimeProvider, or NULL on error</doc>
<type name="NetTimeProvider" c:type="GstNetTimeProvider*"/>
</return-value>
<parameters>
<parameter name="clock" transfer-ownership="none">
<doc xml:space="preserve">a #GstClock to export over the network</doc>
<type name="Gst.Clock" c:type="GstClock*"/>
</parameter>
<parameter name="address" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">an address to bind on as a dotted quad
(xxx.xxx.xxx.xxx), IPv6 address, or NULL to bind to all addresses</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="port" transfer-ownership="none">
<doc xml:space="preserve">a port to bind on, or 0 to let the kernel choose</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</constructor>
<property name="active" writable="1" transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="address" writable="1" construct-only="1" transfer-ownership="none">
<type name="utf8" c:type="gchar*"/>
</property>
<property name="clock" writable="1" construct-only="1" transfer-ownership="none">
<type name="Gst.Clock"/>
</property>
<property name="port" writable="1" construct-only="1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</property>
<property name="qos-dscp" writable="1" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</property>
<field name="parent">
<type name="Gst.Object" c:type="GstObject"/>
</field>
<field name="priv" readable="0" private="1">
<type name="NetTimeProviderPrivate" c:type="GstNetTimeProviderPrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="NetTimeProviderClass" c:type="GstNetTimeProviderClass" glib:is-gtype-struct-for="NetTimeProvider">
<field name="parent_class">
<type name="Gst.ObjectClass" c:type="GstObjectClass"/>
</field>
<field name="_gst_reserved">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="NetTimeProviderPrivate" c:type="GstNetTimeProviderPrivate" disguised="1"/>
<class name="NtpClock" c:symbol-prefix="ntp_clock" c:type="GstNtpClock" parent="NetClientClock" glib:type-name="GstNtpClock" glib:get-type="gst_ntp_clock_get_type" glib:type-struct="NtpClockClass">
<constructor name="new" c:identifier="gst_ntp_clock_new" version="1.6">
<doc xml:space="preserve">Create a new #GstNtpClock that will report the time provided by
the NTPv4 server on @remote_address and @remote_port.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstClock that receives a time from the remote
clock.</doc>
<type name="Gst.Clock" c:type="GstClock*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve">a name for the clock</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="remote_address" transfer-ownership="none">
<doc xml:space="preserve">the address or hostname of the remote clock provider</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="remote_port" transfer-ownership="none">
<doc xml:space="preserve">the port of the remote clock provider</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="base_time" transfer-ownership="none">
<doc xml:space="preserve">initial time of the clock</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</parameter>
</parameters>
</constructor>
<field name="clock">
<type name="Gst.SystemClock" c:type="GstSystemClock"/>
</field>
<field name="priv" readable="0" private="1">
<type name="NetClientClockPrivate" c:type="GstNetClientClockPrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="NtpClockClass" c:type="GstNtpClockClass" glib:is-gtype-struct-for="NtpClock">
<field name="parent_class">
<type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<function-macro name="PTP_CLOCK" c:identifier="GST_PTP_CLOCK" introspectable="0">
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="PTP_CLOCK_CLASS" c:identifier="GST_PTP_CLOCK_CLASS" introspectable="0">
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<constant name="PTP_CLOCK_ID_NONE" value="18446744073709551615" c:type="GST_PTP_CLOCK_ID_NONE">
<doc xml:space="preserve">PTP clock identification that can be passed to gst_ptp_init() to
automatically select one based on the MAC address of interfaces</doc>
<type name="guint64" c:type="guint64"/>
</constant>
<constant name="PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED" value="GstPtpStatisticsBestMasterClockSelected" c:type="GST_PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PTP_STATISTICS_NEW_DOMAIN_FOUND" value="GstPtpStatisticsNewDomainFound" c:type="GST_PTP_STATISTICS_NEW_DOMAIN_FOUND">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PTP_STATISTICS_PATH_DELAY_MEASURED" value="GstPtpStatisticsPathDelayMeasured" c:type="GST_PTP_STATISTICS_PATH_DELAY_MEASURED">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="PTP_STATISTICS_TIME_UPDATED" value="GstPtpStatisticsTimeUpdated" c:type="GST_PTP_STATISTICS_TIME_UPDATED">
<type name="utf8" c:type="gchar*"/>
</constant>
<class name="PtpClock" c:symbol-prefix="ptp_clock" c:type="GstPtpClock" version="1.6" parent="Gst.SystemClock" glib:type-name="GstPtpClock" glib:get-type="gst_ptp_clock_get_type" glib:type-struct="PtpClockClass">
<doc xml:space="preserve">GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in slave-only
mode, that allows a GStreamer pipeline to synchronize to a PTP network
clock in some specific domain.
The PTP subsystem can be initialized with gst_ptp_init(), which then starts
a helper process to do the actual communication via the PTP ports. This is
required as PTP listens on ports &lt; 1024 and thus requires special
privileges. Once this helper process is started, the main process will
synchronize to all PTP domains that are detected on the selected
interfaces.
gst_ptp_clock_new() then allows to create a GstClock that provides the PTP
time from a master clock inside a specific PTP domain. This clock will only
return valid timestamps once the timestamps in the PTP domain are known. To
check this, you can use gst_clock_wait_for_sync(), the GstClock::synced
signal and gst_clock_is_synced().
To gather statistics about the PTP clock synchronization,
gst_ptp_statistics_callback_add() can be used. This gives the application
the possibility to collect all kinds of statistics from the clock
synchronization.</doc>
<constructor name="new" c:identifier="gst_ptp_clock_new" version="1.6">
<doc xml:space="preserve">Creates a new PTP clock instance that exports the PTP time of the master
clock in @domain. This clock can be slaved to other clocks as needed.
If gst_ptp_init() was not called before, this will call gst_ptp_init() with
default parameters.
This clock only returns valid timestamps after it received the first
times from the PTP master clock on the network. Once this happens the
GstPtpClock::internal-clock property will become non-NULL. You can
check this with gst_clock_wait_for_sync(), the GstClock::synced signal and
gst_clock_is_synced().</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">A new #GstClock</doc>
<type name="Gst.Clock" c:type="GstClock*"/>
</return-value>
<parameters>
<parameter name="name" transfer-ownership="none">
<doc xml:space="preserve">Name of the clock</doc>
<type name="utf8" c:type="const gchar*"/>
</parameter>
<parameter name="domain" transfer-ownership="none">
<doc xml:space="preserve">PTP domain</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</constructor>
<property name="domain" writable="1" construct-only="1" transfer-ownership="none">
<type name="guint" c:type="guint"/>
</property>
<property name="grandmaster-clock-id" transfer-ownership="none">
<type name="guint64" c:type="guint64"/>
</property>
<property name="internal-clock" transfer-ownership="none">
<type name="Gst.Clock"/>
</property>
<property name="master-clock-id" transfer-ownership="none">
<type name="guint64" c:type="guint64"/>
</property>
<field name="clock">
<type name="Gst.SystemClock" c:type="GstSystemClock"/>
</field>
<field name="priv" readable="0" private="1">
<type name="PtpClockPrivate" c:type="GstPtpClockPrivate*"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="PtpClockClass" c:type="GstPtpClockClass" glib:is-gtype-struct-for="PtpClock">
<doc xml:space="preserve">Opaque #GstPtpClockClass structure.</doc>
<field name="parent_class">
<doc xml:space="preserve">parented to #GstSystemClockClass</doc>
<type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="PtpClockPrivate" c:type="GstPtpClockPrivate" disguised="1"/>
<callback name="PtpStatisticsCallback" c:type="GstPtpStatisticsCallback">
<doc xml:space="preserve">The statistics can be the following structures:
GST_PTP_STATISTICS_NEW_DOMAIN_FOUND:
"domain" G_TYPE_UINT The domain identifier of the domain
"clock" GST_TYPE_CLOCK The internal clock that is slaved to the
PTP domain
GST_PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED:
"domain" G_TYPE_UINT The domain identifier of the domain
"master-clock-id" G_TYPE_UINT64 PTP clock identifier of the selected master
clock
"master-clock-port" G_TYPE_UINT PTP port number of the selected master clock
"grandmaster-clock-id" G_TYPE_UINT64 PTP clock identifier of the grandmaster clock
GST_PTP_STATISTICS_PATH_DELAY_MEASURED:
"domain" G_TYPE_UINT The domain identifier of the domain
"mean-path-delay-avg" GST_TYPE_CLOCK_TIME Average mean path delay
"mean-path-delay" GST_TYPE_CLOCK_TIME Latest mean path delay
"delay-request-delay" GST_TYPE_CLOCK_TIME Delay of DELAY_REQ / DELAY_RESP messages
GST_PTP_STATISTICS_TIME_UPDATED:
"domain" G_TYPE_UINT The domain identifier of the domain
"mean-path-delay-avg" GST_TYPE_CLOCK_TIME Average mean path delay
"local-time" GST_TYPE_CLOCK_TIME Local time that corresponds to ptp-time
"ptp-time" GST_TYPE_CLOCK_TIME Newly measured PTP time at local-time
"estimated-ptp-time" GST_TYPE_CLOCK_TIME Estimated PTP time based on previous measurements
"discontinuity" G_TYPE_INT64 Difference between estimated and measured PTP time
"synced" G_TYPE_BOOLEAN Currently synced to the remote clock
"r-squared" G_TYPE_DOUBLE R&#xB2; of clock estimation regression
"internal-time" GST_TYPE_CLOCK_TIME Internal time clock parameter
"external-time" GST_TYPE_CLOCK_TIME External time clock parameter
"rate-num" G_TYPE_UINT64 Internal/external rate numerator
"rate-den" G_TYPE_UINT64 Internal/external rate denominator
"rate" G_TYPE_DOUBLE Internal/external rate
If %FALSE is returned, the callback is removed and never called again.</doc>
<return-value transfer-ownership="none">
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="domain" transfer-ownership="none">
<doc xml:space="preserve">PTP domain identifier</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="stats" transfer-ownership="none">
<doc xml:space="preserve">New statistics</doc>
<type name="Gst.Structure" c:type="const GstStructure*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
<doc xml:space="preserve">Data passed to gst_ptp_statistics_callback_add()</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<function name="buffer_add_net_address_meta" c:identifier="gst_buffer_add_net_address_meta">
<doc xml:space="preserve">Attaches @addr as metadata in a #GstNetAddressMeta to @buffer.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstNetAddressMeta connected to @buffer</doc>
<type name="NetAddressMeta" c:type="GstNetAddressMeta*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="addr" transfer-ownership="none">
<doc xml:space="preserve">a @GSocketAddress to connect to @buffer</doc>
<type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
</parameter>
</parameters>
</function>
<function name="buffer_add_net_control_message_meta" c:identifier="gst_buffer_add_net_control_message_meta">
<doc xml:space="preserve">Attaches @message as metadata in a #GstNetControlMessageMeta to @buffer.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">a #GstNetControlMessageMeta connected to @buffer</doc>
<type name="NetControlMessageMeta" c:type="GstNetControlMessageMeta*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="message" transfer-ownership="none">
<doc xml:space="preserve">a @GSocketControlMessage to attach to @buffer</doc>
<type name="Gio.SocketControlMessage" c:type="GSocketControlMessage*"/>
</parameter>
</parameters>
</function>
<function name="buffer_get_net_address_meta" c:identifier="gst_buffer_get_net_address_meta">
<doc xml:space="preserve">Find the #GstNetAddressMeta on @buffer.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">the #GstNetAddressMeta or %NULL when there
is no such metadata on @buffer.</doc>
<type name="NetAddressMeta" c:type="GstNetAddressMeta*"/>
</return-value>
<parameters>
<parameter name="buffer" transfer-ownership="none">
<doc xml:space="preserve">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
</parameters>
</function>
<function-macro name="buffer_get_net_control_message_meta" c:identifier="gst_buffer_get_net_control_message_meta" introspectable="0">
<parameters>
<parameter name="b">
</parameter>
</parameters>
</function-macro>
<docsection name="gstnetutils">
<doc xml:space="preserve">GstNetUtils gathers network utility functions, enabling use for all
gstreamer plugins.</doc>
</docsection>
<function name="net_address_meta_api_get_type" c:identifier="gst_net_address_meta_api_get_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</function>
<function name="net_address_meta_get_info" c:identifier="gst_net_address_meta_get_info" moved-to="NetAddressMeta.get_info">
<return-value transfer-ownership="none">
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
</return-value>
</function>
<function name="net_control_message_meta_api_get_type" c:identifier="gst_net_control_message_meta_api_get_type">
<return-value transfer-ownership="none">
<type name="GType" c:type="GType"/>
</return-value>
</function>
<function name="net_control_message_meta_get_info" c:identifier="gst_net_control_message_meta_get_info" moved-to="NetControlMessageMeta.get_info">
<return-value transfer-ownership="none">
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
</return-value>
</function>
<function name="net_time_packet_receive" c:identifier="gst_net_time_packet_receive" moved-to="NetTimePacket.receive" throws="1">
<doc xml:space="preserve">Receives a #GstNetTimePacket over a socket. Handles interrupted system
calls, but otherwise returns NULL on error.</doc>
<return-value transfer-ownership="full">
<doc xml:space="preserve">a new #GstNetTimePacket, or NULL on error. Free
with gst_net_time_packet_free() when done.</doc>
<type name="NetTimePacket" c:type="GstNetTimePacket*"/>
</return-value>
<parameters>
<parameter name="socket" transfer-ownership="none">
<doc xml:space="preserve">socket to receive the time packet on</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</parameter>
<parameter name="src_address" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve">address of variable to return sender address</doc>
<type name="Gio.SocketAddress" c:type="GSocketAddress**"/>
</parameter>
</parameters>
</function>
<function name="net_utils_set_socket_tos" c:identifier="gst_net_utils_set_socket_tos" version="1.18">
<doc xml:space="preserve">Configures IP_TOS value of socket, i.e. sets QoS DSCP.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">TRUE if successful, FALSE in case an error occurred.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="socket" transfer-ownership="none">
<doc xml:space="preserve">Socket to configure</doc>
<type name="Gio.Socket" c:type="GSocket*"/>
</parameter>
<parameter name="qos_dscp" transfer-ownership="none">
<doc xml:space="preserve">QoS DSCP value</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="ptp_deinit" c:identifier="gst_ptp_deinit" version="1.6">
<doc xml:space="preserve">Deinitialize the GStreamer PTP subsystem and stop the PTP clock. If there
are any remaining GstPtpClock instances, they won't be further synchronized
to the PTP network clock.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
</function>
<function name="ptp_init" c:identifier="gst_ptp_init" version="1.6">
<doc xml:space="preserve">Initialize the GStreamer PTP subsystem and create a PTP ordinary clock in
slave-only mode for all domains on the given @interfaces with the
given @clock_id.
If @clock_id is %GST_PTP_CLOCK_ID_NONE, a clock id is automatically
generated from the MAC address of the first network interface.
This function is automatically called by gst_ptp_clock_new() with default
parameters if it wasn't called before.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the GStreamer PTP clock subsystem could be initialized.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="clock_id" transfer-ownership="none">
<doc xml:space="preserve">PTP clock id of this process' clock or %GST_PTP_CLOCK_ID_NONE</doc>
<type name="guint64" c:type="guint64"/>
</parameter>
<parameter name="interfaces" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">network interfaces to run the clock on</doc>
<array c:type="gchar**">
<type name="utf8" c:type="gchar*"/>
</array>
</parameter>
</parameters>
</function>
<function name="ptp_is_initialized" c:identifier="gst_ptp_is_initialized" version="1.6">
<doc xml:space="preserve">Check if the GStreamer PTP clock subsystem is initialized.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if the GStreamer PTP clock subsystem is initialized.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="ptp_is_supported" c:identifier="gst_ptp_is_supported" version="1.6">
<doc xml:space="preserve">Check if PTP clocks are generally supported on this system, and if previous
initializations did not fail.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">%TRUE if PTP clocks are generally supported on this system, and
previous initializations did not fail.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
</function>
<function name="ptp_statistics_callback_add" c:identifier="gst_ptp_statistics_callback_add" version="1.6">
<doc xml:space="preserve">Installs a new statistics callback for gathering PTP statistics. See
GstPtpStatisticsCallback for a list of statistics that are provided.</doc>
<return-value transfer-ownership="none">
<doc xml:space="preserve">Id for the callback that can be passed to
gst_ptp_statistics_callback_remove()</doc>
<type name="gulong" c:type="gulong"/>
</return-value>
<parameters>
<parameter name="callback" transfer-ownership="none" scope="notified" closure="1" destroy="2">
<doc xml:space="preserve">GstPtpStatisticsCallback to call</doc>
<type name="PtpStatisticsCallback" c:type="GstPtpStatisticsCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve">Data to pass to the callback</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="destroy_data" transfer-ownership="none" scope="async">
<doc xml:space="preserve">GDestroyNotify to destroy the data</doc>
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</function>
<function name="ptp_statistics_callback_remove" c:identifier="gst_ptp_statistics_callback_remove" version="1.6">
<doc xml:space="preserve">Removes a PTP statistics callback that was previously added with
gst_ptp_statistics_callback_add().</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="id" transfer-ownership="none">
<doc xml:space="preserve">Callback id to remove</doc>
<type name="gulong" c:type="gulong"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,103 +0,0 @@
#!/bin/bash
set -x -e
# https://github.com/gtk-rs/gir-files/blob/master/reformat.sh
# `///` used as `//` not works in Windows in this case
for file in *.gir; do
xmlstarlet ed -L \
-d '//_:doc/@line' \
-d '//_:doc/@filename' \
-d '///_:source-position' \
"$file"
done
# replace wayland structures to gpointers
xmlstarlet ed --inplace \
--update '//*[@c:type="wl_display*"]/@c:type' \
--value gpointer \
--update '//*[@c:type="wl_registry*"]/@c:type' \
--value gpointer \
--update '//*[@c:type="wl_compositor*"]/@c:type' \
--value gpointer \
--update '//*[@c:type="wl_subcompositor*"]/@c:type' \
--value gpointer \
--update '//*[@c:type="wl_shell*"]/@c:type' \
--value gpointer \
GstGLWayland-1.0.gir
# Change X11's Display* and xcb_connection_t* pointers to gpointer
xmlstarlet ed --inplace \
--insert '//_:type[@c:type="Display*"]' \
--type attr --name 'name' --value 'gpointer' \
--insert '//_:type[@c:type="xcb_connection_t*"]' \
--type attr --name 'name' --value 'gpointer' \
--update '//*[@c:type="Display*"]/@c:type' \
--value gpointer \
--update '//*[@c:type="xcb_connection_t*"]/@c:type' \
--value gpointer \
GstGLX11-1.0.gir
# Remove GstMemoryEGL and EGLImage
xmlstarlet ed --inplace \
--delete '//_:record[@name="GLMemoryEGL"]' \
--delete '//_:record[@name="GLMemoryEGLAllocator"]' \
--delete '//_:record[@name="GLMemoryEGLAllocatorClass"]' \
--delete '//_:record[@name="EGLImage"]' \
--delete '//_:record[@name="GLDisplayEGLDeviceClass"]' \
--delete '//_:class[@name="GLMemoryEGLAllocator"]' \
--delete '//_:class[@name="GLDisplayEGLDevice"]' \
--delete '//_:callback[@name="EGLImageDestroyNotify"]' \
--delete '//_:constant[@name="GL_MEMORY_EGL_ALLOCATOR_NAME"]' \
--delete '//_:function[starts-with(@name, "egl")]' \
--delete '//_:function[starts-with(@name, "gl_memory_egl")]' \
--delete '//_:function[@name="is_gl_memory_egl"]' \
--delete '//_:function-macro[starts-with(@name, "egl")]' \
--delete '//_:function-macro[starts-with(@name, "EGL")]' \
--delete '//_:function-macro[starts-with(@name, "GL_MEMORY_EGL")]' \
--delete '//_:function-macro[starts-with(@name, "IS_EGL_IMAGE")]' \
--delete '//_:function-macro[starts-with(@name, "IS_GL_MEMORY_EGL")]' \
GstGLEGL-1.0.gir
xmlstarlet ed --inplace \
--delete '//_:method[@c:identifier="gst_gl_display_egl_from_gl_display"]' \
--delete '//_:method[@c:identifier="egl_from_gl_display"]' \
GstGLEGL-1.0.gir
# Remove all libcheck related API
xmlstarlet ed --inplace \
--delete '//_:function[starts-with(@name, "check_")]' \
--delete '//_:function[starts-with(@name, "buffer_straw_")]' \
--delete '//_:callback[starts-with(@name, "Check")]' \
--delete '//_:record[starts-with(@name, "Check")]' \
GstCheck-1.0.gir
# Change GstVideoAncillary.data to a fixed-size 256 byte array
xmlstarlet ed --inplace \
--delete '//_:record[@name="VideoAncillary"]/_:field[@name="data"]/_:array/@length' \
--delete '//_:record[@name="VideoAncillary"]/_:field[@name="data"]/_:array/@fixed-size' \
--insert '//_:record[@name="VideoAncillary"]/_:field[@name="data"]/_:array' \
--type attr --name 'fixed-size' --value '256' \
GstVideo-1.0.gir
xmlstarlet ed --inplace \
--delete "//_:member[@c:identifier=\"GST_VIDEO_BUFFER_FLAG_ONEFIELD\"][2]" \
--delete "//_:member[@c:identifier=\"GST_VIDEO_FRAME_FLAG_ONEFIELD\"][2]" \
GstVideo-1.0.gir
xmlstarlet ed --inplace \
--delete '//_:record[@name="ISO639LanguageDescriptor"]/_:field[@name="language"]/_:array/@c:type' \
--insert '//_:record[@name="ISO639LanguageDescriptor"]/_:field[@name="language"]/_:array' \
--type attr --name 'c:type' --value 'gchar' \
GstMpegts-1.0.gir
xmlstarlet ed --inplace \
--delete '//_:record[@name="MIKEYPayloadKeyData"]/_:field[@name="kv_data"]/_:array/@c:type' \
--insert '//_:record[@name="MIKEYPayloadKeyData"]/_:field[@name="kv_data"]/_:array' \
--type attr --name 'c:type' --value 'guint8' \
GstSdp-1.0.gir
# Remove duplicated enums
xmlstarlet ed --inplace \
--delete '//_:enumeration[@name="EditMode"]/_:member[starts-with(@name, "edit_")]' \
--delete '//_:enumeration[@name="Edge"]/_:member[starts-with(@name, "edge_")]' \
GES-1.0.gir