ci: switch the Fedora base image to f34

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060>
This commit is contained in:
Jordan Petridis 2020-07-10 12:16:35 +03:00
parent 136c82d735
commit 88e6dd0555
29 changed files with 2523 additions and 254 deletions

View file

@ -116,7 +116,7 @@ trigger:
.fedora image:
variables:
FDO_DISTRIBUTION_VERSION: '31'
FDO_DISTRIBUTION_VERSION: '34'
FDO_REPO_SUFFIX: "$FEDORA_AMD64_SUFFIX"
FDO_DISTRIBUTION_TAG: "$FEDORA_TAG-$GST_UPSTREAM_BRANCH"
FDO_DISTRIBUTION_EXEC: 'GIT_BRANCH=$CI_COMMIT_REF_NAME GIT_URL=$CI_REPOSITORY_URL bash ci/docker/fedora/prepare.sh'

View file

@ -5,7 +5,7 @@ variables:
# If you are hacking on them or need a them to rebuild, its enough
# to change any part of the string of the image you want.
###
FEDORA_TAG: '2023-10-10.0'
FEDORA_TAG: '2023-08-31.1-f34'
INDENT_TAG: '2023-08-24.3'

View file

@ -1,8 +1,11 @@
#! /bin/bash
set -eux
# Fedora base image disable installing documentation files. See https://pagure.io/atomic-wg/issue/308
# We need them to cleanly build our doc.
sed -i "s/tsflags=nodocs//g" /etc/dnf/dnf.conf
sed -i '/tsflags=nodocs/d' /etc/dnf/dnf.conf
dnf -y swap coreutils-single coreutils-full
dnf install -y git-core dnf-plugins-core python3-pip
@ -28,6 +31,7 @@ dnf install -y \
libcaca-devel \
libdav1d \
libdav1d-devel \
libdrm-devel \
ccache \
cmake \
clang-devel \
@ -39,6 +43,7 @@ dnf install -y \
gdb \
git-lfs \
glslc \
gtk-doc \
gtk3 \
gtk3-devel \
gtk4 \
@ -62,10 +67,20 @@ dnf install -y \
flex \
flite \
flite-devel \
libsoup \
libsoup-devel \
mono-devel \
procps-ng \
patch \
qt5-devel \
qconf \
qt5-linguist \
qt5-qtbase-devel \
qt5-qtbase-private-devel \
qt5-qtdeclarative-devel \
qt5-qtquickcontrols2-devel \
qt5-qttools-common \
qt5-qtwayland-devel \
qt5-qtx11extras-devel \
redhat-rpm-config \
json-glib \
json-glib-devel \
@ -74,15 +89,20 @@ dnf install -y \
libsodium-devel \
libunwind \
libunwind-devel \
libva-devel \
libyaml-devel \
libxml2-devel \
libxslt-devel \
llvm-devel \
log4c-devel \
libxcb-devel \
libxkbcommon-devel \
libxkbcommon-x11-devel \
make \
nasm \
neon \
neon-devel \
ninja-build \
nunit \
npm \
opencv \
@ -99,12 +119,14 @@ dnf install -y \
python3 \
python3-devel \
python3-libs \
python3-wheel \
python3-gobject \
python3-cairo \
python3-cairo-devel \
valgrind \
vulkan \
vulkan-devel \
vulkan-loader \
mesa-libGL \
mesa-libGL-devel \
mesa-libGLU \
@ -119,9 +141,9 @@ dnf install -y \
mesa-libd3d-devel \
mesa-libOSMesa \
mesa-libOSMesa-devel \
mesa-dri-drivers \
mesa-vulkan-drivers \
wpewebkit \
wpewebkit-devel \
xset \
xorg-x11-server-utils \
xorg-x11-server-Xvfb
@ -142,7 +164,11 @@ dnf debuginfo-install -y gtk3 \
libjpeg-turbo \
glib-networking \
libcurl \
libdrm \
libsoup \
libxcb \
libxkbcommon \
libxkbcommon-x11 \
nss \
nss-softokn \
nss-softokn-freebl \
@ -162,6 +188,7 @@ dnf debuginfo-install -y gtk3 \
libffi \
libsrtp \
libunwind \
libdvdread \
mpg123-libs \
neon \
orc-compiler \
@ -170,6 +197,8 @@ dnf debuginfo-install -y gtk3 \
pulseaudio-libs \
pulseaudio-libs-glib2 \
wavpack \
"libwayland-*" \
"wayland-*" \
webrtc-audio-processing \
ffmpeg \
ffmpeg-libs \
@ -178,6 +207,7 @@ dnf debuginfo-install -y gtk3 \
libmpeg2 \
faac \
fdk-aac \
vulkan-loader \
x264 \
x264-libs \
x265 \
@ -192,6 +222,7 @@ dnf builddep -y gstreamer1 \
gstreamer1-plugins-base \
gstreamer1-plugins-good \
gstreamer1-plugins-good-extras \
gstreamer1-plugins-good-qt \
gstreamer1-plugins-ugly \
gstreamer1-plugins-ugly-free \
gstreamer1-plugins-bad-free \
@ -202,20 +233,21 @@ dnf builddep -y gstreamer1 \
gstreamer1-vaapi \
python3-gstreamer1
dnf remove -y meson
# FIXME: Install ninja from rpm when we update our base image as we fail building
# documentation with rust plugins as we the version from F31 we hit:
# `ninja: error: build.ninja:26557: multiple outputs aren't (yet?) supported by depslog; bring this up on the mailing list if it affects you
pip3 install meson==1.1.1 hotdoc==0.15 python-gitlab ninja tomli
dnf remove -y meson -x ninja-build
pip3 install meson==1.2.3 hotdoc==0.15 python-gitlab tomli
# Remove gst-devel packages installed by builddep above
dnf remove -y "gstreamer1*devel"
# FIXME: Why does installing directly with dnf doesn't actually install
# the documentation files?
dnf download glib2-doc gdk-pixbuf2-devel*x86_64* gtk3-devel-docs gtk4-devel-docs
rpm -i --reinstall *.rpm
rm -f *.rpm
dnf install -y glib2-doc gdk-pixbuf2-devel gtk3-devel-docs gtk4-devel-docs libsoup-doc
# Install gdk-pixbuf manually as fedora 34 doesn't build the docs/.devhelp2
git clone --branch gdk-pixbuf-2-40 https://gitlab.gnome.org/GNOME/gdk-pixbuf.git
cd gdk-pixbuf
meson setup _build --prefix=/usr -Ddocs=true
meson install -C _build
cd ..
rm -rf gdk-pixbuf
# Install Rust
RUSTUP_VERSION=1.26.0

View file

@ -15756,8 +15756,9 @@ account.</doc>
<member name="crossfade" value="512" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE" glib:nick="crossfade">
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Crossfade</doc>
</member>
<member name="fade_in" value="513" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN" glib:nick="fade-in">
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Similar to crossfade, but fade in the front video without fading out the background one (Since: 1.22)</doc>
<member name="fade_in" value="513" c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN" version="1.22" glib:nick="fade-in">
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-enums.h">Similar to crossfade, but fade in the front video without fading out
the background one</doc>
</member>
</enumeration>
<enumeration name="VideoTestPattern" glib:type-name="GESVideoTestPattern" glib:get-type="ges_video_test_pattern_get_type" c:type="GESVideoTestPattern">
@ -16240,6 +16241,37 @@ formatter asset.</doc>
</parameter>
</parameters>
</function>
<docsection name="ges.h">
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">GES needs to be initialized after GStreamer itself. This section
contains the various functions to do so.</doc>
</docsection>
<docsection name="gestimeoverlayclip">
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-time-overlay-clip.c">A #GESSourceClip that overlays timing information on top.
## Asset
The default asset ID is "time-overlay" (of type #GES_TYPE_SOURCE_CLIP),
but the framerate and video size can be overridden using an ID of the form:
```
time-overlay, framerate=60/1, width=1920, height=1080, max-duration=5.0
```
## Children properties
{{ libs/GESTimeOverlayClip-children-props.md }}
## Symbols</doc>
</docsection>
<docsection name="gestypes">
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-types.h">GStreamer Editing Services data types</doc>
</docsection>
<docsection name="gesuriasset">
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-uri-asset.c">The #GESUriClipAsset is a special #GESAsset that lets you handle
the media file to use inside the GStreamer Editing Services. It has APIs that
let you get information about the medias. Also, the tags found in the media file are
set as Metadata of the Asset.</doc>
</docsection>
<function name="init" c:identifier="ges_init">
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges.c">Initialize the GStreamer Editing Service. Call this before any usage of
GES. You should take care of initilizing GStreamer before calling this

View file

@ -1865,13 +1865,16 @@ this message should chain up to the parent class implementation so the
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbin.h">GstBinFlags are a set of flags specific to bins. Most are set/used
internally. They can be checked using the GST_OBJECT_FLAG_IS_SET() macro,
and (un)set using GST_OBJECT_FLAG_SET() and GST_OBJECT_FLAG_UNSET().</doc>
<member name="no_resync" value="16384" c:identifier="GST_BIN_FLAG_NO_RESYNC" glib:nick="no-resync">
<member name="no_resync" value="16384" c:identifier="GST_BIN_FLAG_NO_RESYNC" version="1.0.5" glib:nick="no-resync">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbin.h">Don't resync a state change when elements are added or linked in the bin</doc>
</member>
<member name="streams_aware" value="32768" c:identifier="GST_BIN_FLAG_STREAMS_AWARE" glib:nick="streams-aware">
<member name="streams_aware" value="32768" c:identifier="GST_BIN_FLAG_STREAMS_AWARE" version="1.10" glib:nick="streams-aware">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbin.h">Indicates whether the bin can handle elements that add/remove source pads
at any point in time without first posting a no-more-pads signal.</doc>
</member>
<member name="last" value="524288" c:identifier="GST_BIN_FLAG_LAST" glib:nick="last">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbin.h">the last enum in the series of flags for bins.
Derived classes can use this as first value in a list of flags.</doc>
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbin.h">The last enum in the series of flags for bins. Derived classes can use this
as first value in a list of flags.</doc>
</member>
</bitfield>
<record name="BinPrivate" c:type="GstBinPrivate" disguised="1">
@ -3512,7 +3515,8 @@ function to specify which items should be copied.</doc>
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbuffer.h">flag indicating that buffer memory should be
merged</doc>
</member>
<member name="deep" value="32" c:identifier="GST_BUFFER_COPY_DEEP" glib:nick="deep">
<member name="deep" value="32" c:identifier="GST_BUFFER_COPY_DEEP" version="1.2" glib:nick="deep">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbuffer.h">flag indicating that memory should always be copied instead of reffed</doc>
</member>
</bitfield>
<bitfield name="BufferFlags" glib:type-name="GstBufferFlags" glib:get-type="gst_buffer_flags_get_type" c:type="GstBufferFlags">
@ -3567,9 +3571,17 @@ function to specify which items should be copied.</doc>
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbuffer.h">this flag is set when memory of the buffer
is added/removed</doc>
</member>
<member name="sync_after" value="32768" c:identifier="GST_BUFFER_FLAG_SYNC_AFTER" glib:nick="sync-after">
<member name="sync_after" value="32768" c:identifier="GST_BUFFER_FLAG_SYNC_AFTER" version="1.6" glib:nick="sync-after">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbuffer.h">Elements which write to disk or permanent storage should ensure the data
is synced after writing the contents of this buffer.</doc>
</member>
<member name="non_droppable" value="65536" c:identifier="GST_BUFFER_FLAG_NON_DROPPABLE" glib:nick="non-droppable">
<member name="non_droppable" value="65536" c:identifier="GST_BUFFER_FLAG_NON_DROPPABLE" version="1.14" glib:nick="non-droppable">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbuffer.h">This buffer is important and should not be dropped.
This can be used to mark important buffers, e.g. to flag RTP packets
carrying keyframes or codec setup data for RTP Forward Error Correction
purposes, or to prevent still video frames from being dropped by elements
due to QoS.</doc>
</member>
<member name="last" value="1048576" c:identifier="GST_BUFFER_FLAG_LAST" glib:nick="last">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbuffer.h">additional media specific flags can be added starting from
@ -9555,7 +9567,8 @@ not be extended or allocated using a custom allocator.</doc>
<member name="can_set_master" value="512" c:identifier="GST_CLOCK_FLAG_CAN_SET_MASTER" glib:nick="can-set-master">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstclock.h">clock can be slaved to a master clock</doc>
</member>
<member name="needs_startup_sync" value="1024" c:identifier="GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC" glib:nick="needs-startup-sync">
<member name="needs_startup_sync" value="1024" c:identifier="GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC" version="1.6" glib:nick="needs-startup-sync">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstclock.h">clock needs to be synced before it can be used</doc>
</member>
<member name="last" value="4096" c:identifier="GST_CLOCK_FLAG_LAST" glib:nick="last">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstclock.h">subclasses can add additional flags starting from this flag</doc>
@ -10508,8 +10521,8 @@ gst_custom_meta_get_structure().</doc>
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmeta.h">parent #GstMeta</doc>
<type name="Meta" c:type="GstMeta"/>
</field>
<field name="structure" writable="1">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmeta.h">a #GstStructure containing custom metadata. (Since: 1.24)</doc>
<field name="structure" version="1.24" writable="1">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmeta.h">#GstStructure containing custom metadata.</doc>
<type name="Structure" c:type="GstStructure*"/>
</field>
<method name="get_structure" c:identifier="gst_custom_meta_get_structure" version="1.20">
@ -37244,8 +37257,8 @@ Either @new_query or the #GstQuery pointed to by @old_query may be %NULL.</doc>
<member name="bitrate" value="51202" c:identifier="GST_QUERY_BITRATE" glib:nick="bitrate">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstquery.h">the bitrate query (since 1.16)</doc>
</member>
<member name="selectable" value="53763" c:identifier="GST_QUERY_SELECTABLE" glib:nick="selectable">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstquery.h">Query stream selection capability (Since: 1.22)</doc>
<member name="selectable" value="53763" c:identifier="GST_QUERY_SELECTABLE" version="1.22" glib:nick="selectable">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstquery.h">Query stream selection capability.</doc>
</member>
<function name="get_flags" c:identifier="gst_query_type_get_flags">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstquery.c">Gets the #GstQueryTypeFlags associated with @type.</doc>
@ -49202,7 +49215,7 @@ Free-function: g_free</doc>
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvalue.h">a #GstValueDeserializeFunc</doc>
<type name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc"/>
</field>
<field name="deserialize_with_pspec" writable="1">
<field name="deserialize_with_pspec" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvalue.h">a #GstValueDeserializeWithPSpecFunc</doc>
<type name="ValueDeserializeWithPSpecFunc" c:type="GstValueDeserializeWithPSpecFunc"/>
</field>
@ -50693,6 +50706,12 @@ everything to log level 2.</doc>
</parameter>
</parameters>
</function>
<docsection name="debugutils">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstdebugutils.c">These utility functions help with generating dot graphs which can
be rendered with [graphviz] to multiple formats.
[graphviz]: https://graphviz.org/</doc>
</docsection>
<function name="deinit" c:identifier="gst_deinit">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gst.c">Clean up any resources created by GStreamer in gst_init().
@ -51160,6 +51179,271 @@ parent process.</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
</function>
<docsection name="gst">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gst.c">GStreamer is a framework for constructing graphs of various filters
(termed elements here) that will handle streaming media.
Any discrete (packetizable) media type is supported, with provisions for
automatically determining source type.
Formatting/framing information is provided with a powerful negotiation
framework.
Plugins are heavily used to provide for all elements, allowing one to
construct plugins outside of the GST library, even released binary-only if
license require (please don't).
GStreamer covers a wide range of use cases including: playback, recording,
editing, serving streams, voice over ip and video calls.
The `GStreamer` library should be initialized with
gst_init() before it can be used. You should pass pointers to the main `argc`
and `argv` variables so that GStreamer can process its own command line
options, as shown in the following example.
## Initializing the gstreamer library
``` C
int main (int argc, char *argv[])
{
// initialize the GStreamer library
gst_init (&amp;argc, &amp;argv);
...
}
```
It's allowed to pass two %NULL pointers to gst_init() in case you don't want
to pass the command line args to GStreamer.
You can also use #GOptionContext to initialize your own parameters as shown in
the next code fragment:
## Initializing own parameters when initializing GStreamer
``` C
static gboolean stats = FALSE;
...
int
main (int argc, char *argv[])
{
GOptionEntry options[] = {
{"tags", 't', 0, G_OPTION_ARG_NONE, &amp;tags,
N_("Output tags (also known as metadata)"), NULL},
{NULL}
};
ctx = g_option_context_new ("[ADDITIONAL ARGUMENTS]");
g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
g_option_context_add_group (ctx, gst_init_get_option_group ());
if (!g_option_context_parse (ctx, &amp;argc, &amp;argv, &amp;err)) {
g_print ("Error initializing: %s\n", GST_STR_NULL (err-&gt;message));
exit (1);
}
g_option_context_free (ctx);
...
}
```
Use gst_version() to query the library version at runtime or use the
GST_VERSION_* macros to find the version at compile time. Optionally
gst_version_string() returns a printable string.
The gst_deinit() call is used to clean up all internal resources used
by GStreamer. It is mostly used in unit tests to check for leaks.</doc>
</docsection>
<docsection name="gstcompat">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstcompat.h">Please do not use these in new code.
These symbols are only available by defining GST_DISABLE_DEPRECATED.
This can be done in CFLAGS for compiling old code.</doc>
</docsection>
<docsection name="gsterror">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gsterror.c">GStreamer elements can throw non-fatal warnings and fatal errors.
Higher-level elements and applications can programmatically filter
the ones they are interested in or can recover from,
and have a default handler handle the rest of them.
The rest of this section will use the term "error"
to mean both (non-fatal) warnings and (fatal) errors; they are treated
similarly.
Errors from elements are the combination of a #GError and a debug string.
The #GError contains:
- a domain type: CORE, LIBRARY, RESOURCE or STREAM
- a code: an enum value specific to the domain
- a translated, human-readable message
- a non-translated additional debug string, which also contains
- file and line information
Elements do not have the context required to decide what to do with
errors. As such, they should only inform about errors, and stop their
processing. In short, an element doesn't know what it is being used for.
It is the application or compound element using the given element that
has more context about the use of the element. Errors can be received by
listening to the #GstBus of the element/pipeline for #GstMessage objects with
the type %GST_MESSAGE_ERROR or %GST_MESSAGE_WARNING. The thrown errors should
be inspected, and filtered if appropriate.
An application is expected to, by default, present the user with a
dialog box (or an equivalent) showing the error message. The dialog
should also allow a way to get at the additional debug information,
so the user can provide bug reporting information.
A compound element is expected to forward errors by default higher up
the hierarchy; this is done by default in the same way as for other types
of #GstMessage.
When applications or compound elements trigger errors that they can
recover from, they can filter out these errors and take appropriate action.
For example, an application that gets an error from xvimagesink
that indicates all XVideo ports are taken, the application can attempt
to use another sink instead.
Elements throw errors using the #GST_ELEMENT_ERROR convenience macro:
## Throwing an error
|[
GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
(_("No file name specified for reading.")), (NULL));
]|
Things to keep in mind:
* Don't go off inventing new error codes. The ones
currently provided should be enough. If you find your type of error
does not fit the current codes, you should use FAILED.
* Don't provide a message if the default one suffices.
this keeps messages more uniform. Use (%NULL) - not forgetting the
parentheses.
* If you do supply a custom message, it should be
marked for translation. The message should start with a capital
and end with a period. The message should describe the error in short,
in a human-readable form, and without any complex technical terms.
A user interface will present this message as the first thing a user
sees. Details, technical info, ... should go in the debug string.
* The debug string can be as you like. Again, use (%NULL)
if there's nothing to add - file and line number will still be
passed. #GST_ERROR_SYSTEM can be used as a shortcut to give
debug information on a system call error.</doc>
</docsection>
<docsection name="gstformat">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstformat.c">GstFormats functions are used to register a new format to the gstreamer
core. Formats can be used to perform seeking or conversions/query
operations.</doc>
</docsection>
<docsection name="gstinfo">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstinfo.c">GStreamer's debugging subsystem is an easy way to get information about what
the application is doing. It is not meant for programming errors. Use GLib
methods (g_warning and friends) for that.
The debugging subsystem works only after GStreamer has been initialized
- for example by calling gst_init().
The debugging subsystem is used to log informational messages while the
application runs. Each messages has some properties attached to it. Among
these properties are the debugging category, the severity (called "level"
here) and an optional #GObject it belongs to. Each of these messages is sent
to all registered debugging handlers, which then handle the messages.
GStreamer attaches a default handler on startup, which outputs requested
messages to stderr.
Messages are output by using shortcut macros like #GST_DEBUG,
#GST_CAT_ERROR_OBJECT or similar. These all expand to calling gst_debug_log()
with the right parameters.
The only thing a developer will probably want to do is define his own
categories. This is easily done with 3 lines. At the top of your code,
declare
the variables and set the default category.
|[&lt;!-- language="C" --&gt;
GST_DEBUG_CATEGORY_STATIC (my_category); // define category (statically)
#define GST_CAT_DEFAULT my_category // set as default
]|
After that you only need to initialize the category.
|[&lt;!-- language="C" --&gt;
GST_DEBUG_CATEGORY_INIT (my_category, "my category",
0, "This is my very own");
]|
Initialization must be done before the category is used first.
Plugins do this
in their plugin_init function, libraries and applications should do that
during their initialization.
The whole debugging subsystem can be disabled at build time with passing the
--disable-gst-debug switch to configure. If this is done, every function,
macro and even structs described in this file evaluate to default values or
nothing at all.
So don't take addresses of these functions or use other tricks.
If you must do that for some reason, there is still an option.
If the debugging
subsystem was compiled out, GST_DISABLE_GST_DEBUG is defined in
&lt;gst/gst.h&gt;,
so you can check that before doing your trick.
Disabling the debugging subsystem will give you a slight (read: unnoticeable)
speed increase and will reduce the size of your compiled code. The GStreamer
library itself becomes around 10% smaller.
Please note that there are naming conventions for the names of debugging
categories. These are explained at GST_DEBUG_CATEGORY_INIT().</doc>
</docsection>
<docsection name="gstparamspec">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstparamspecs.c">GParamSpec implementations specific to GStreamer.</doc>
</docsection>
<docsection name="gstparse">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstparse.c">These function allow to create a pipeline based on the syntax used in the
gst-launch-1.0 utility (see man-page for syntax documentation).
Please note that these functions take several measures to create
somewhat dynamic pipelines. Due to that such pipelines are not always
reusable (set the state to NULL and back to PLAYING).</doc>
</docsection>
<docsection name="gstprotection">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstprotection.c">The GstProtectionMeta class enables the information needed to decrypt a
#GstBuffer to be attached to that buffer.
Typically, a demuxer element would attach GstProtectionMeta objects
to the buffers that it pushes downstream. The demuxer would parse the
protection information for a video/audio frame from its input data and use
this information to populate the #GstStructure @info field,
which is then encapsulated in a GstProtectionMeta object and attached to
the corresponding output buffer using the gst_buffer_add_protection_meta()
function. The information in this attached GstProtectionMeta would be
used by a downstream decrypter element to recover the original unencrypted
frame.</doc>
</docsection>
<docsection name="gststreams">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gststreams.c">A #GstStream is a high-level object defining a stream of data which is, or
can be, present in a #GstPipeline.
It is defined by a unique identifier, a "Stream ID". A #GstStream does not
automatically imply the stream is present within a pipeline or element.
Any element that can introduce new streams in a pipeline should create the
appropriate #GstStream object, and can convey that object via the
%GST_EVENT_STREAM_START event and/or the #GstStreamCollection.
Elements that do not modify the nature of the stream can add extra information
on it (such as enrich the #GstCaps, or #GstTagList). This is typically done
by parsing elements.</doc>
</docsection>
<docsection name="gstvalue">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvalue.c">GValue implementations specific to GStreamer.
Note that operations on the same #GValue from multiple threads may lead to
undefined behaviour.</doc>
</docsection>
<docsection name="gstversion">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstversion.h">Use the GST_VERSION_* macros e.g. when defining own plugins. The GStreamer
runtime checks if these plugin and core version match and refuses to use a
plugin compiled against a different version of GStreamer.
You can also use the macros to keep the GStreamer version information in
your application.
Use the gst_version() function if you want to know which version of
GStreamer you are currently linked against.
The version macros get defined by including "gst/gst.h".</doc>
</docsection>
<function-macro name="guint64_to_gdouble" c:identifier="gst_guint64_to_gdouble" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstutils.h">Convert @value to a gdouble.</doc>
<source-position filename="../subprojects/gstreamer/gst/gstutils.h"/>

View file

@ -164,7 +164,8 @@ number and the height is scaled according to the sub-sampling.</doc>
</class>
<record name="DRMDumbAllocatorClass" c:type="GstDRMDumbAllocatorClass" glib:is-gtype-struct-for="DRMDumbAllocator">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h"/>
<field name="parent_class">
<field name="parent_class" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstdrmdumb.h">Parent Class.</doc>
<type name="Gst.AllocatorClass" c:type="GstAllocatorClass"/>
</field>
</record>

View file

@ -11691,6 +11691,16 @@ the #GstDsdFormat if there is one, or NULL otherwise.</doc>
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
</return-value>
</function>
<docsection name="gstaudio">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio.c">This library contains some helper functions for audio elements.</doc>
</docsection>
<docsection name="gstaudiochannels">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-channels.c">This library contains some helper functions for multichannel audio.</doc>
</docsection>
<docsection name="gstaudioiec61937">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioiec61937.c">This module contains some helper functions for encapsulating various
audio formats in IEC 61937 headers and padding.</doc>
</docsection>
<function name="stream_volume_convert_volume" c:identifier="gst_stream_volume_convert_volume" moved-to="StreamVolume.convert_volume">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/streamvolume.h"/>
<return-value transfer-ownership="none">

View file

@ -565,5 +565,50 @@ on the bus</doc>
</parameter>
</parameters>
</function>
<docsection name="camerabingeneral">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c">Common helper functions for #GstCameraBin.</doc>
</docsection>
<docsection name="element-basecamerasrc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c">Base class for the camera source bin used by camerabin for capture.
Sophisticated camera hardware can derive from this baseclass and map the
features to this interface.
The design mandates that the subclasses implement the following features and
behaviour:
* 3 pads: viewfinder, image capture, video capture
During `construct_pipeline()` vmethod a subclass can add several elements into
the bin and expose 3 srcs pads as ghostpads implementing the 3 pad templates.
However the subclass is responsible for adding the pad templates for the
source pads and they must be named "vidsrc", "imgsrc" and "vfsrc". The pad
templates should be installed in the subclass' class_init function, like so:
|[
static void
my_element_class_init (GstMyElementClass *klass)
{
GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
// pad templates should be a #GstStaticPadTemplate with direction
// #GST_PAD_SRC and name "vidsrc", "imgsrc" and "vfsrc"
gst_element_class_add_static_pad_template (gstelement_class,
&amp;vidsrc_template);
gst_element_class_add_static_pad_template (gstelement_class,
&amp;imgsrc_template);
gst_element_class_add_static_pad_template (gstelement_class,
&amp;vfsrc_template);
// see #GstElementDetails
gst_element_class_set_details (gstelement_class, &amp;details);
}
]|
It is also possible to add regular pads from the subclass and implement the
dataflow methods on these pads. This way all functionality can be implemented
directly in the subclass without extra elements.
The src will receive the capture mode from `GstCameraBin2` on the
#GstBaseCameraSrc:mode property. Possible capture modes are defined in
#GstCameraBinMode.</doc>
</docsection>
</namespace>
</repository>

View file

@ -13847,6 +13847,12 @@ ISO-8859-1).</doc>
</parameter>
</parameters>
</function-macro>
<docsection name="gsttypefindhelper">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gsttypefindhelper.c">Utility functions for elements doing typefinding:
gst_type_find_helper() does typefinding in pull mode, while
gst_type_find_helper_for_buffer() is useful for elements needing to do
typefinding in push mode from a chain function.</doc>
</docsection>
<function name="queue_array_new" c:identifier="gst_queue_array_new" moved-to="QueueArray.new" version="1.2" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Allocates a new #GstQueueArray object with an initial
queue size of @initial_size.</doc>

View file

@ -3468,6 +3468,22 @@ data flow is inconsistent.</doc>
</parameter>
</parameters>
</function>
<docsection name="gstcheck">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/check/gstcheck.c">These macros and functions are for internal use of the unit tests found
inside the 'check' directories of various GStreamer packages.
One notable feature is that one can use the environment variables GST_CHECKS
and GST_CHECKS_IGNORE to select which tests to run or skip. Both variables
can contain a comma separated list of test name globs (e.g. test_*).</doc>
</docsection>
<docsection name="gstcheckbufferstraw">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/check/gstbufferstraw.c">These macros and functions are for internal use of the unit tests found
inside the 'check' directories of various GStreamer packages.</doc>
</docsection>
<docsection name="gstcheckconsistencychecker">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/check/gstconsistencychecker.c">These macros and functions are for internal use of the unit tests found
inside the 'check' directories of various GStreamer packages.</doc>
</docsection>
<function name="harness_new" c:identifier="gst_harness_new" moved-to="Harness.new" version="1.6" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/check/gstharness.c">Creates a new harness. Works like gst_harness_new_with_padnames(), except it
assumes the #GstElement sinkpad is named "sink" and srcpad is named "src"

View file

@ -4575,18 +4575,17 @@ and can be used as a binary.</doc>
<field name="header_size_in_bytes" writable="1">
<type name="guint16" c:type="guint16"/>
</field>
<field name="tx_mode" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies how the transform size is determined</doc>
<field name="tx_mode" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Specifies how the transform size is determined.</doc>
<type name="Vp9TxMode" c:type="GstVp9TxMode"/>
</field>
<field name="reference_mode" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">is a derived syntax element that specifies the type of
inter prediction to be used</doc>
<field name="reference_mode" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Is a derived syntax element that specifies the type of
inter prediction to be used.</doc>
<type name="Vp9ReferenceMode" c:type="GstVp9ReferenceMode"/>
</field>
<field name="delta_probabilities" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">modification to the probabilities encoded in the
bitstream</doc>
<field name="delta_probabilities" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Modification to the probabilities encoded in the bitstream.</doc>
<type name="Vp9DeltaProbabilities" c:type="GstVp9DeltaProbabilities"/>
</field>
<field name="lossless_flag" writable="1">

View file

@ -847,11 +847,13 @@ CUDA stream is in use</doc>
</record>
<enumeration name="CudaMemoryAllocMethod" version="1.24" glib:type-name="GstCudaMemoryAllocMethod" glib:get-type="gst_cuda_memory_alloc_method_get_type" c:type="GstCudaMemoryAllocMethod">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.h">CUDA memory allocation method</doc>
<member name="unknown" value="0" c:identifier="GST_CUDA_MEMORY_ALLOC_UNKNOWN" glib:nick="unknown">
<member name="unknown" value="0" c:identifier="GST_CUDA_MEMORY_ALLOC_UNKNOWN" version="1.24" glib:nick="unknown">
</member>
<member name="malloc" value="1" c:identifier="GST_CUDA_MEMORY_ALLOC_MALLOC" glib:nick="malloc">
<member name="malloc" value="1" c:identifier="GST_CUDA_MEMORY_ALLOC_MALLOC" version="1.24" glib:nick="malloc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.h">Memory allocated via cuMemAlloc or cuMemAllocPitch</doc>
</member>
<member name="mmap" value="2" c:identifier="GST_CUDA_MEMORY_ALLOC_MMAP" glib:nick="mmap">
<member name="mmap" value="2" c:identifier="GST_CUDA_MEMORY_ALLOC_MMAP" version="1.24" glib:nick="mmap">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.h">Memory allocated via cuMemCreate and cuMemMap</doc>
</member>
</enumeration>
<record name="CudaMemoryPrivate" c:type="GstCudaMemoryPrivate" disguised="1">
@ -860,11 +862,14 @@ CUDA stream is in use</doc>
<bitfield name="CudaMemoryTransfer" c:type="GstCudaMemoryTransfer">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.h">CUDA memory transfer flags</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.h"/>
<member name="download" value="1048576" c:identifier="GST_CUDA_MEMORY_TRANSFER_NEED_DOWNLOAD">
<member name="download" value="1048576" c:identifier="GST_CUDA_MEMORY_TRANSFER_NEED_DOWNLOAD" version="1.22">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.h">the device memory needs downloading to the staging memory</doc>
</member>
<member name="upload" value="2097152" c:identifier="GST_CUDA_MEMORY_TRANSFER_NEED_UPLOAD">
<member name="upload" value="2097152" c:identifier="GST_CUDA_MEMORY_TRANSFER_NEED_UPLOAD" version="1.22">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.h">the staging memory needs uploading to the device memory</doc>
</member>
<member name="sync" value="4194304" c:identifier="GST_CUDA_MEMORY_TRANSFER_NEED_SYNC">
<member name="sync" value="4194304" c:identifier="GST_CUDA_MEMORY_TRANSFER_NEED_SYNC" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.h">the device memory needs synchronization</doc>
</member>
</bitfield>
<class name="CudaPoolAllocator" c:symbol-prefix="cuda_pool_allocator" c:type="GstCudaPoolAllocator" version="1.24" parent="CudaAllocator" glib:type-name="GstCudaPoolAllocator" glib:get-type="gst_cuda_pool_allocator_get_type" glib:type-struct="CudaPoolAllocatorClass">

View file

@ -1096,13 +1096,16 @@ is available and is not available within this element.</doc>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.c">The #GstGLContext in use by this #GstGLBaseMixer</doc>
<type name="GLContext"/>
</property>
<field name="parent">
<field name="parent" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">parent #GstVideoAggregator</doc>
<type name="GstVideo.VideoAggregator" c:type="GstVideoAggregator"/>
</field>
<field name="display">
<field name="display" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">the currently configured #GstGLDisplay</doc>
<type name="GLDisplay" c:type="GstGLDisplay*"/>
</field>
<field name="context">
<field name="context" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">the currently configured #GstGLContext</doc>
<type name="GLContext" c:type="GstGLContext*"/>
</field>
<field name="_padding" readable="0" private="1">
@ -1116,10 +1119,12 @@ is available and is not available within this element.</doc>
</class>
<record name="GLBaseMixerClass" c:type="GstGLBaseMixerClass" glib:is-gtype-struct-for="GLBaseMixer" version="1.24">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
<field name="parent_class">
<field name="parent_class" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">the parent #GstVideoAggregatorClass</doc>
<type name="GstVideo.VideoAggregatorClass" c:type="GstVideoAggregatorClass"/>
</field>
<field name="supported_gl_api">
<field name="supported_gl_api" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">the logical-OR of #GstGLAPI's supported by this element</doc>
<type name="GLAPI" c:type="GstGLAPI"/>
</field>
<field name="gl_start">
@ -1157,7 +1162,8 @@ is available and is not available within this element.</doc>
</record>
<class name="GLBaseMixerPad" c:symbol-prefix="gl_base_mixer_pad" c:type="GstGLBaseMixerPad" version="1.24" parent="GstVideo.VideoAggregatorPad" glib:type-name="GstGLBaseMixerPad" glib:get-type="gst_gl_base_mixer_pad_get_type" glib:type-struct="GLBaseMixerPadClass">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
<field name="parent">
<field name="parent" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">parent #GstVideoAggregatorPad</doc>
<type name="GstVideo.VideoAggregatorPad" c:type="GstVideoAggregatorPad"/>
</field>
<field name="_padding" readable="0" private="1">
@ -1168,7 +1174,8 @@ is available and is not available within this element.</doc>
</class>
<record name="GLBaseMixerPadClass" c:type="GstGLBaseMixerPadClass" glib:is-gtype-struct-for="GLBaseMixerPad" version="1.24">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h"/>
<field name="parent_class">
<field name="parent_class" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasemixer.h">parent #GstVideoAggregatorPadClass</doc>
<type name="GstVideo.VideoAggregatorPadClass" c:type="GstVideoAggregatorPadClass"/>
</field>
<field name="_padding" readable="0" private="1">
@ -3445,15 +3452,21 @@ display's object lock held.</doc>
<member name="gbm" value="128" c:identifier="GST_GL_DISPLAY_TYPE_GBM" glib:nick="gbm">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">Mesa3D GBM display</doc>
</member>
<member name="egl_device" value="256" c:identifier="GST_GL_DISPLAY_TYPE_EGL_DEVICE" glib:nick="egl-device">
<member name="egl_device" value="256" c:identifier="GST_GL_DISPLAY_TYPE_EGL_DEVICE" version="1.18" glib:nick="egl-device">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">EGLDevice display.</doc>
</member>
<member name="eagl" value="512" c:identifier="GST_GL_DISPLAY_TYPE_EAGL" glib:nick="eagl">
<member name="eagl" value="512" c:identifier="GST_GL_DISPLAY_TYPE_EAGL" version="1.20" glib:nick="eagl">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">EAGL display.</doc>
</member>
<member name="winrt" value="1024" c:identifier="GST_GL_DISPLAY_TYPE_WINRT" glib:nick="winrt">
<member name="winrt" value="1024" c:identifier="GST_GL_DISPLAY_TYPE_WINRT" version="1.20" glib:nick="winrt">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">WinRT display.</doc>
</member>
<member name="android" value="2048" c:identifier="GST_GL_DISPLAY_TYPE_ANDROID" glib:nick="android">
<member name="android" value="2048" c:identifier="GST_GL_DISPLAY_TYPE_ANDROID" version="1.20" glib:nick="android">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">Android display.</doc>
</member>
<member name="egl_surfaceless" value="4096" c:identifier="GST_GL_DISPLAY_TYPE_EGL_SURFACELESS" glib:nick="egl-surfaceless">
<member name="egl_surfaceless" value="4096" c:identifier="GST_GL_DISPLAY_TYPE_EGL_SURFACELESS" version="1.24" glib:nick="egl-surfaceless">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">Mesa3D surfaceless display using the EGL_PLATFORM_SURFACELESS_MESA
extension.</doc>
</member>
<member name="any" value="4294967295" c:identifier="GST_GL_DISPLAY_TYPE_ANY" glib:nick="any">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstgldisplay.h">any display type</doc>
@ -4815,10 +4828,11 @@ Intended for use within implementations of
</parameter>
</parameters>
</method>
<field name="parent">
<field name="parent" version="1.24">
<type name="GLBaseMixer" c:type="GstGLBaseMixer"/>
</field>
<field name="out_caps">
<field name="out_caps" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h">the configured output #GstCaps</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</field>
<field name="priv" readable="0" private="1">
@ -4832,7 +4846,7 @@ Intended for use within implementations of
</class>
<record name="GLMixerClass" c:type="GstGLMixerClass" glib:is-gtype-struct-for="GLMixer" version="1.24">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
<field name="parent_class">
<field name="parent_class" version="1.24">
<type name="GLBaseMixerClass" c:type="GstGLBaseMixerClass"/>
</field>
<field name="process_buffers">
@ -4893,10 +4907,12 @@ manually.</doc>
</record>
<class name="GLMixerPad" c:symbol-prefix="gl_mixer_pad" c:type="GstGLMixerPad" version="1.24" parent="GLBaseMixerPad" glib:type-name="GstGLMixerPad" glib:get-type="gst_gl_mixer_pad_get_type" glib:type-struct="GLMixerPadClass">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
<field name="parent">
<field name="parent" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h">parent #GstGLBaseMixerPad</doc>
<type name="GLBaseMixerPad" c:type="GstGLBaseMixerPad"/>
</field>
<field name="current_texture">
<field name="current_texture" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h">the current input texture for this pad</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="_padding" readable="0" private="1">
@ -4907,7 +4923,8 @@ manually.</doc>
</class>
<record name="GLMixerPadClass" c:type="GstGLMixerPadClass" glib:is-gtype-struct-for="GLMixerPad" version="1.24">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h"/>
<field name="parent_class">
<field name="parent_class" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmixer.h">parent #GstGLBaseMixerPadClass</doc>
<type name="GLBaseMixerPadClass" c:type="GstGLBaseMixerPadClass"/>
</field>
<field name="_padding" readable="0" private="1">
@ -11650,6 +11667,17 @@ or a valid GLSL version and/or profile.</doc>
</parameter>
</parameters>
</function>
<docsection name="gstglapi">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglapi.c">Provides some helper API for dealing with OpenGL API's and platforms</doc>
</docsection>
<docsection name="gstglcontextconfig">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcontextconfig.c">A common list of well-known values for what a config retrievable from or set
on a `GstGLContext` may contain.</doc>
</docsection>
<docsection name="gstglformat">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglformat.c">Some useful utilities for converting between various formats and OpenGL
formats.</doc>
</docsection>
<function name="is_gl_base_memory" c:identifier="gst_is_gl_base_memory" version="1.8">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglbasememory.h"/>
<return-value transfer-ownership="none">

View file

@ -824,6 +824,9 @@ Consult the relevant specifications for more details.</doc>
<member name="frequency_list" value="98" c:identifier="GST_MTS_DESC_DVB_FREQUENCY_LIST">
</member>
<member name="partial_transport_stream" value="99" c:identifier="GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-descriptor.h">Partial Transport Stream descriptor. Only present in SIT Sections.
See also: %GST_MPEGTS_SECTION_SIT, %GstMpegtsSIT</doc>
</member>
<member name="data_broadcast" value="100" c:identifier="GST_MTS_DESC_DVB_DATA_BROADCAST">
</member>
@ -930,7 +933,8 @@ Consult the relevant specifications for more details.</doc>
</member>
<member name="ac4" value="21" c:identifier="GST_MTS_DESC_EXT_DVB_AC4">
</member>
<member name="audio_preselection" value="25" c:identifier="GST_MTS_DESC_EXT_DVB_AUDIO_PRESELECTION">
<member name="audio_preselection" value="25" c:identifier="GST_MTS_DESC_EXT_DVB_AUDIO_PRESELECTION" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-descriptor.h">Provide all avaliable audio programme for user selection</doc>
</member>
</enumeration>
<record name="DVBLinkageDescriptor" c:type="GstMpegtsDVBLinkageDescriptor" glib:type-name="GstMpegtsDVBLinkageDescriptor" glib:get-type="gst_mpegts_dvb_linkage_descriptor_get_type" c:symbol-prefix="dvb_linkage_descriptor">
@ -2816,13 +2820,17 @@ See ISO/IEC 13818-1:2018 Section 2.6.60 and Section 2.6.61 for more information.
<enumeration name="MetadataFormat" version="1.24" c:type="GstMpegtsMetadataFormat">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-metadata-descriptor.h">metadata_descriptor metadata_format valid values. See ISO/IEC 13818-1:2018(E) Table 2-85.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-metadata-descriptor.h"/>
<member name="tem" value="16" c:identifier="GST_MPEGTS_METADATA_FORMAT_TEM">
<member name="tem" value="16" c:identifier="GST_MPEGTS_METADATA_FORMAT_TEM" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-metadata-descriptor.h">ISO/IEC 15938-1 TeM.</doc>
</member>
<member name="bim" value="17" c:identifier="GST_MPEGTS_METADATA_FORMAT_BIM">
<member name="bim" value="17" c:identifier="GST_MPEGTS_METADATA_FORMAT_BIM" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-metadata-descriptor.h">ISO/IEC 15938-1 BiM.</doc>
</member>
<member name="application_format" value="63" c:identifier="GST_MPEGTS_METADATA_FORMAT_APPLICATION_FORMAT">
<member name="application_format" value="63" c:identifier="GST_MPEGTS_METADATA_FORMAT_APPLICATION_FORMAT" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-metadata-descriptor.h">Defined by metadata application format.</doc>
</member>
<member name="identifier_field" value="255" c:identifier="GST_MPEGTS_METADATA_FORMAT_IDENTIFIER_FIELD">
<member name="identifier_field" value="255" c:identifier="GST_MPEGTS_METADATA_FORMAT_IDENTIFIER_FIELD" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-metadata-descriptor.h">Defined by metadata_format_identifier field.</doc>
</member>
</enumeration>
<enumeration name="MiscDescriptorType" c:type="GstMpegtsMiscDescriptorType">
@ -3187,10 +3195,14 @@ Corresponds to table 6 of ETSI EN 300 468 (v1.13.0)</doc>
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<field name="fully_parsed" writable="1">
<field name="fully_parsed" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-scte-section.h">When encrypted, or when encountering an unknown command type,
we may still want to pass the sit through.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="is_running_time" writable="1">
<field name="is_running_time" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-scte-section.h">When the SIT was constructed by the application, splice times
are in running_time and must be translated before packetizing.</doc>
<type name="gboolean" c:type="gboolean"/>
</field>
<constructor name="new" c:identifier="gst_mpegts_scte_sit_new">
@ -3293,10 +3305,12 @@ Corresponds to table 6 of ETSI EN 300 468 (v1.13.0)</doc>
<field name="program_splice_time" writable="1">
<type name="guint64" c:type="guint64"/>
</field>
<field name="utc_splice_time" writable="1">
<field name="utc_splice_time" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-scte-section.h">The UTC time of the signaled splice event</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="components" writable="1">
<field name="components" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-scte-section.h">Per-PID splice time information</doc>
<array name="GLib.PtrArray" c:type="GPtrArray*">
<type name="gpointer" c:type="gpointer"/>
</array>
@ -4195,7 +4209,8 @@ see also: #GstMpegtsSectionTableID and other variants.</doc>
<member name="data_service" value="207" c:identifier="GST_MTS_TABLE_ID_ATSC_DATA_SERVICE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-atsc-section.h">A/90: Data Service Table (DST)</doc>
</member>
<member name="program_identifier" value="208" c:identifier="GST_MTS_TABLE_ID_ATSC_PROGRAM_IDENTIFIER">
<member name="program_identifier" value="208" c:identifier="GST_MTS_TABLE_ID_ATSC_PROGRAM_IDENTIFIER" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-atsc-section.h">A/57B: Program Identifier Table.</doc>
</member>
<member name="network_resource" value="209" c:identifier="GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-atsc-section.h">A/90: Network Resources Table (NRT)</doc>
@ -4242,9 +4257,11 @@ see also: #GstMpegtsSectionTableID</doc>
<member name="bouquet_association" value="74" c:identifier="GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-section.h">Bouquet Association Table (BAT)</doc>
</member>
<member name="update_notification" value="75" c:identifier="GST_MTS_TABLE_ID_UPDATE_NOTIFICATION">
<member name="update_notification" value="75" c:identifier="GST_MTS_TABLE_ID_UPDATE_NOTIFICATION" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-section.h">ETSI TS 102 006: Update Notification Table (UNT)</doc>
</member>
<member name="downloadable_font_info" value="76" c:identifier="GST_MTS_TABLE_ID_DOWNLOADABLE_FONT_INFO">
<member name="downloadable_font_info" value="76" c:identifier="GST_MTS_TABLE_ID_DOWNLOADABLE_FONT_INFO" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-section.h">ETSI EN 303 560: Downloadable Font Info</doc>
</member>
<member name="event_information_actual_ts_present" value="78" c:identifier="GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-section.h">Event Information Table (EIT), Actual Transport Stream, present/following</doc>
@ -4297,7 +4314,8 @@ see also: #GstMpegtsSectionTableID</doc>
<member name="mpe_ifec" value="122" c:identifier="GST_MTS_TABLE_ID_MPE_IFEC">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-section.h">ETSI TS 102 772: MPE-IFEC Section</doc>
</member>
<member name="protection_message" value="123" c:identifier="GST_MTS_TABLE_ID_PROTECTION_MESSAGE">
<member name="protection_message" value="123" c:identifier="GST_MTS_TABLE_ID_PROTECTION_MESSAGE" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-section.h">ETSI TS 102 809: Protection Message Section</doc>
</member>
<member name="discontinuity_information" value="126" c:identifier="GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-section.h">Discontinuity Information Table (DIT)</doc>
@ -4401,11 +4419,14 @@ see also #GstMpegtsSectionATSCTableID, #GstMpegtsSectionDVBTableID, and
<member name="ipmp_control_information" value="7" c:identifier="GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">IPMP Control Information</doc>
</member>
<member name="14496_section" value="8" c:identifier="GST_MTS_TABLE_ID_14496_SECTION">
<member name="14496_section" value="8" c:identifier="GST_MTS_TABLE_ID_14496_SECTION" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">ISO/IEC 14496 Section.</doc>
</member>
<member name="23001_11_section" value="9" c:identifier="GST_MTS_TABLE_ID_23001_11_SECTION">
<member name="23001_11_section" value="9" c:identifier="GST_MTS_TABLE_ID_23001_11_SECTION" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">ISO/IEC 23001-11 (Green Access Unit) Section.</doc>
</member>
<member name="23001_10_section" value="10" c:identifier="GST_MTS_TABLE_ID_23001_10_SECTION">
<member name="23001_10_section" value="10" c:identifier="GST_MTS_TABLE_ID_23001_10_SECTION" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">ISO/ISO 23001-10 (Quality Access Unit) Section.</doc>
</member>
<member name="dsm_cc_multiproto_encapsulated_data" value="58" c:identifier="GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">DSM-CC Multi-Protocol Encapsulated (MPE) Data</doc>
@ -4467,7 +4488,8 @@ use.</doc>
<member name="tot" value="10" c:identifier="GST_MPEGTS_SECTION_TOT">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">Time Offset Table (EN 300 468)</doc>
</member>
<member name="sit" value="11" c:identifier="GST_MPEGTS_SECTION_SIT">
<member name="sit" value="11" c:identifier="GST_MPEGTS_SECTION_SIT" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">Selection Information Table (EN 300 468)</doc>
</member>
<member name="atsc_tvct" value="12" c:identifier="GST_MPEGTS_SECTION_ATSC_TVCT">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">ATSC Terrestrial Virtual Channel Table (A65)</doc>
@ -4644,7 +4666,8 @@ profiles defined in Annex A for service-compatible stereoscopic 3D services</doc
<member name="ipmp_stream" value="127" c:identifier="GST_MPEGTS_STREAM_TYPE_IPMP_STREAM">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">IPMP stream</doc>
</member>
<member name="user_private_ea" value="234" c:identifier="GST_MPEGTS_STREAM_TYPE_USER_PRIVATE_EA">
<member name="user_private_ea" value="234" c:identifier="GST_MPEGTS_STREAM_TYPE_USER_PRIVATE_EA" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gstmpegtssection.h">User Private stream id (used for VC-1) as defined by SMPTE RP227.</doc>
</member>
</enumeration>
<record name="T2DeliverySystemCell" c:type="GstMpegtsT2DeliverySystemCell" glib:type-name="GstMpegtsT2DeliverySystemCell" glib:get-type="gst_mpegts_t2_delivery_system_cell_get_type" c:symbol-prefix="t2_delivery_system_cell">
@ -5122,6 +5145,114 @@ of #GstMpegtsDescriptor</doc>
</parameter>
</parameters>
</function>
<docsection name="gst-atsc-descriptor">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-atsc-descriptor.h">This contains the various descriptors defined by the ATSC specifications</doc>
</docsection>
<docsection name="gst-atsc-section">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-atsc-section.c">The list of section types defined and used by the ATSC specifications can be
seen in %GstMpegtsSectionATSCTableID.
# Supported ATSC MPEG-TS sections
These are the sections for which parsing and packetizing code exists.
## Master Guide Table (MGT)
See:
* gst_mpegts_section_get_atsc_mgt()
* %GstMpegtsAtscMGT
* %GstMpegtsAtscMGTTable
* gst_mpegts_atsc_mgt_new()
## Terrestrial (TVCT) and Cable (CVCT) Virtual Channel Table
See:
* gst_mpegts_section_get_atsc_tvct()
* gst_mpegts_section_get_atsc_cvct()
* %GstMpegtsAtscVCT
* %GstMpegtsAtscVCTSource
## Rating Region Table (RRT)
See:
* gst_mpegts_section_get_atsc_rrt()
* %GstMpegtsAtscRRT
* gst_mpegts_atsc_rrt_new()
## Event Information Table (EIT)
See:
* gst_mpegts_section_get_atsc_eit()
* %GstMpegtsAtscEIT
* %GstMpegtsAtscEITEvent
## Extended Text Table (ETT)
See:
* gst_mpegts_section_get_atsc_ett()
* %GstMpegtsAtscETT
## System Time Table (STT)
See:
* gst_mpegts_section_get_atsc_stt()
* %GstMpegtsAtscSTT
* gst_mpegts_atsc_stt_new()
# API</doc>
</docsection>
<docsection name="gst-dvb-section">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-dvb-section.c">The list of section types defined and used by the DVB specifications can be
seen in %GstMpegtsSectionDVBTableID.
# Supported DVB MPEG-TS sections
These are the sections for which parsing and packetizing code exists.
## Network Information Table (NIT)
See:
* gst_mpegts_section_get_nit()
* %GstMpegtsNIT
* %GstMpegtsNITStream
* gst_mpegts_nit_new()
## Service Description Table (SDT)
See:
* gst_mpegts_section_get_sdt()
* %GstMpegtsSDT
* %GstMpegtsSDTService
* gst_mpegts_sdt_new()
## Bouquet Association Table (BAT)
See:
* gst_mpegts_section_get_bat()
* %GstMpegtsBAT
* %GstMpegtsBATStream
## Event Information Table (EIT)
See:
* gst_mpegts_section_get_eit()
* %GstMpegtsEIT
* %GstMpegtsEITEvent
## Time Date Table (TDT)
See:
* gst_mpegts_section_get_tdt()
## Time Offset Table (TOT)
See:
* gst_mpegts_section_get_tot()
* %GstMpegtsTOT
## Selection Information Table (SIT)
See:
* gst_mpegts_section_get_sit()
* %GstMpegtsSIT
* %GstMpegtsSITService
# API</doc>
</docsection>
<docsection name="gst-isdb-descriptor">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-isdb-descriptor.h">This contains the various descriptors defined by the ISDB specifications</doc>
</docsection>
<docsection name="gst-scte-section">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/gst-scte-section.c">This contains the %GstMpegtsSection relevent to SCTE specifications.</doc>
</docsection>
<docsection name="gstmpegts">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/mpegts.c">Before any usage of this library, the initialization function should be called.</doc>
</docsection>
<function name="initialize" c:identifier="gst_mpegts_initialize">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mpegts/mpegts.c">Initializes the MPEG-TS helper library. Must be called before any
usage.</doc>

View file

@ -756,6 +756,10 @@ is no such metadata on @buffer.</doc>
</parameter>
</parameters>
</function-macro>
<docsection name="gstnetutils">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/net/gstnetutils.c">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">
<source-position filename="../subprojects/gstreamer/libs/gst/net/gstnetaddressmeta.h"/>
<return-value transfer-ownership="none">

View file

@ -2944,9 +2944,9 @@ describe the format of the caps.</doc>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/descriptions.h">Container format can store any kind of
stream type.</doc>
</member>
<member name="metadata" value="128" c:identifier="GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA" glib:nick="metadata">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/descriptions.h">Caps describe a metadata
format, or a container format that can store metadata.</doc>
<member name="metadata" value="128" c:identifier="GST_PBUTILS_CAPS_DESCRIPTION_FLAG_METADATA" version="1.22" glib:nick="metadata">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/descriptions.h">Caps describe a metadata format, or a container format that can store
metadata.</doc>
</member>
</bitfield>
<function name="codec_utils_aac_caps_set_level_and_profile" c:identifier="gst_codec_utils_aac_caps_set_level_and_profile">
@ -3708,6 +3708,324 @@ invalid Opus caps.</doc>
</parameter>
</parameters>
</function-macro>
<docsection name="encoding-profile">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">Functions to create and handle encoding profiles.
Encoding profiles describe the media types and settings one wishes to use for
an encoding process. The top-level profiles are commonly
#GstEncodingContainerProfile(s) (which contains a user-readable name and
description along with which container format to use). These, in turn,
reference one or more #GstEncodingProfile(s) which indicate which encoding
format should be used on each individual streams.
#GstEncodingProfile(s) can be provided to the 'encodebin' element, which will
take care of selecting and setting up the required elements to produce an
output stream conforming to the specifications of the profile.
The encoding profiles do not necessarily specify which #GstElement to use for
the various encoding and muxing steps, as they allow to specifying the format
one wishes to use.
Encoding profiles can be created at runtime by the application or loaded from
(and saved to) file using the #GstEncodingTarget API.
## The encoding profile serialization format
Encoding profiles can be serialized to be used in the command line tools or
to set it on other other #GObject-s using #gst_util_set_object_arg for
example.
The serialization format aims at being simple to understand although flexible
enough to describe any possible encoding profile. There are several ways to
describe the profile depending on the context but the general idea is that it
is a colon separated list of EncodingProfiles descriptions, the first one
needs to describe a #GstEncodingContainerProfile and the following ones
describe elementary streams.
### Using encoders and muxer element factory name
```
muxer_factory_name:video_encoder_factory_name:audio_encoder_factory_name
```
For example to encode a stream into a WebM container, with an OGG audio
stream and a VP8 video stream, the serialized #GstEncodingProfile looks like:
```
webmmux:vp8enc:vorbisenc
```
### Define the encoding profile in a generic way using caps:
```
muxer_source_caps:video_encoder_source_caps:audio_encoder_source_caps
```
For example to encode a stream into a WebM container, with an OGG audio
stream and a VP8 video stream, the serialized #GstEncodingProfile looks like:
```
video/webm:video/x-vp8:audio/x-vorbis
```
It is possible to mix caps and element type names so you can specify a
specific video encoder while using caps for other encoders/muxer.
### Using preset
You can also set the preset name of the encoding profile using the
caps+preset_name syntax as in:
```
video/webm:video/x-vp8+youtube-preset:audio/x-vorbis
```
### Setting properties on muxers or on the encoding profile itself
Moreover, you can set the extra properties:
* `|element-properties,property1=true` (See
#gst_encoding_profile_set_element_properties)
* `|presence=true` (See See #gst_encoding_profile_get_presence)
* `|single-segment=true` (See #gst_encoding_profile_set_single_segment)
* `|single-segment=true` (See
#gst_encoding_video_profile_set_variableframerate)
for example:
```
video/webm:video/x-vp8|presence=1|element-properties,target-bitrate=500000:audio/x-vorbis
```
### Enforcing properties to the stream itself (video size, number of audio channels, etc..)
You can also use the `restriction_caps-&gt;encoded_format_caps` syntax to
specify the restriction caps to be set on a #GstEncodingProfile
It corresponds to the restriction #GstCaps to apply before the encoder that
will be used in the profile (See #gst_encoding_profile_get_restriction). The
fields present in restriction caps are properties of the raw stream (that is,
before encoding), such as height and width for video and depth and sampling
rate for audio. This property does not make sense for muxers. See
#gst_encoding_profile_get_restriction for more details.
To force a video stream to be encoded with a Full HD resolution (using WebM
as the container format, VP8 as the video codec and Vorbis as the audio
codec), you should use:
```
"video/webm:video/x-raw,width=1920,height=1080-&gt;video/x-vp8:audio/x-vorbis"
```
&gt; NOTE: Make sure to enclose into quotes to avoid '&gt;' to be reinterpreted by
&gt; the shell.
In the case you are specifying encoders directly, the following is also
possible:
```
matroskamux:x264enc,width=1920,height=1080:audio/x-vorbis
```
## Some serialized encoding formats examples
### MP3 audio and H264 in MP4**
```
video/quicktime,variant=iso:video/x-h264:audio/mpeg,mpegversion=1,layer=3
```
### Vorbis and theora in OGG
```
application/ogg:video/x-theora:audio/x-vorbis
```
### AC3 and H264 in MPEG-TS
```
video/mpegts:video/x-h264:audio/x-ac3
```
## Loading a profile from encoding targets
Anywhere you have to use a string to define a #GstEncodingProfile, you
can use load it from a #GstEncodingTarget using the following syntaxes:
```
target_name[/profilename/category]
```
or
```
/path/to/target.gep:profilename
```
## Examples
### Creating a profile
``` c
#include &lt;gst/pbutils/encoding-profile.h&gt;
...
GstEncodingProfile *
create_ogg_theora_profile(void)
{
GstEncodingContainerProfile *prof;
GstCaps *caps;
caps = gst_caps_from_string("application/ogg");
prof = gst_encoding_container_profile_new("Ogg audio/video",
"Standard OGG/THEORA/VORBIS",
caps, NULL);
gst_caps_unref (caps);
caps = gst_caps_from_string("video/x-theora");
gst_encoding_container_profile_add_profile(prof,
(GstEncodingProfile*) gst_encoding_video_profile_new(caps, NULL, NULL, 0));
gst_caps_unref (caps);
caps = gst_caps_from_string("audio/x-vorbis");
gst_encoding_container_profile_add_profile(prof,
(GstEncodingProfile*) gst_encoding_audio_profile_new(caps, NULL, NULL, 0));
gst_caps_unref (caps);
return (GstEncodingProfile*) prof;
}
```
### Example: Using an encoder preset with a profile
``` c
#include &lt;gst/pbutils/encoding-profile.h&gt;
...
GstEncodingProfile *
create_ogg_theora_profile(void)
{
GstEncodingVideoProfile *v;
GstEncodingAudioProfile *a;
GstEncodingContainerProfile *prof;
GstCaps *caps;
GstPreset *preset;
caps = gst_caps_from_string ("application/ogg");
prof = gst_encoding_container_profile_new ("Ogg audio/video",
"Standard OGG/THEORA/VORBIS",
caps, NULL);
gst_caps_unref (caps);
preset = GST_PRESET (gst_element_factory_make ("theoraenc", "theorapreset"));
g_object_set (preset, "bitrate", 1000, NULL);
// The preset will be saved on the filesystem,
// so try to use a descriptive name
gst_preset_save_preset (preset, "theora_bitrate_preset");
gst_object_unref (preset);
caps = gst_caps_from_string ("video/x-theora");
v = gst_encoding_video_profile_new (caps, "theora_bitrate_preset", NULL, 0);
gst_encoding_container_profile_add_profile (prof, (GstEncodingProfile*) v);
gst_caps_unref (caps);
caps = gst_caps_from_string ("audio/x-vorbis");
a = gst_encoding_audio_profile_new (caps, NULL, NULL, 0);
gst_encoding_container_profile_add_profile (prof, (GstEncodingProfile*) a);
gst_caps_unref (caps);
return (GstEncodingProfile*) prof;
}
```
### Listing categories, targets and profiles
``` c
#include &lt;gst/pbutils/encoding-profile.h&gt;
...
GstEncodingProfile *prof;
GList *categories, *tmpc;
GList *targets, *tmpt;
...
categories = gst_encoding_list_available_categories ();
... Show available categories to user ...
for (tmpc = categories; tmpc; tmpc = tmpc-&gt;next) {
gchar *category = (gchar *) tmpc-&gt;data;
... and we can list all targets within that category ...
targets = gst_encoding_list_all_targets (category);
... and show a list to our users ...
g_list_foreach (targets, (GFunc) gst_encoding_target_unref, NULL);
g_list_free (targets);
}
g_list_foreach (categories, (GFunc) g_free, NULL);
g_list_free (categories);
...
```</doc>
</docsection>
<docsection name="encoding-target">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-target.c">On top of the notion of profiles, we implement the notion of EncodingTarget.
Encoding Targets are basically a higher level of abstraction to define formats
for specific target types. Those can define several GstEncodingProfiles with
different names, for example one for transcoding in full HD, another one for
low res, etc.. which are defined in the same encoding target.
Basically if you want to encode a stream to send it to, say, youtube you should
have a Youtube encoding target defined in the "online-service" category.
## Encoding target serialization format
Encoding targets are serialized in a KeyFile like files.
|[
[GStreamer Encoding Target]
name : &lt;name&gt;
category : &lt;category&gt;
\description : &lt;description&gt; #translatable
[profile-&lt;profile1name&gt;]
name : &lt;name&gt;
\description : &lt;description&gt; #optional
format : &lt;format&gt;
preset : &lt;preset&gt;
[streamprofile-&lt;id&gt;]
parent : &lt;encodingprofile.name&gt;[,&lt;encodingprofile.name&gt;..]
\type : &lt;type&gt; # "audio", "video", "text"
format : &lt;format&gt;
preset : &lt;preset&gt;
restriction : &lt;restriction&gt;
presence : &lt;presence&gt;
pass : &lt;pass&gt;
variableframerate : &lt;variableframerate&gt;
]|
## Location of encoding target files
$GST_DATADIR/gstreamer-GST_API_VERSION/encoding-profile
$HOME/gstreamer-GST_API_VERSION/encoding-profile
There also is a GST_ENCODING_TARGET_PATH environment variable
defining a list of folder containing encoding target files.
## Naming convention
|[
$(target.category)/$(target.name).gep
]|
## Naming restrictions:
* lowercase ASCII letter for the first character
* Same for all other characters + numerics + hyphens</doc>
</docsection>
<function name="encoding_list_all_targets" c:identifier="gst_encoding_list_all_targets">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-target.c">List all available #GstEncodingTarget for the specified category, or all categories
if @categoryname is %NULL.</doc>
@ -3773,6 +4091,306 @@ of #GstEncodingTarget categories.</doc>
</parameter>
</parameters>
</function-macro>
<docsection name="gstpbutils">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/pbutils.c">libgstpbutils is a general utility library for plugins and applications.
It currently provides the
following:
* human-readable description strings of codecs, elements, sources, decoders,
encoders, or sinks from decoder/encoder caps, element names, or protocol
names.
* support for applications to initiate installation of missing plugins (if
this is supported by the distribution or operating system used)
* API for GStreamer elements to create missing-plugin messages in order to
communicate to the application that a certain type of plugin is missing
(decoder, encoder, URI protocol source, URI protocol sink, named element)
* API for applications to recognise and handle missing-plugin messages
## Linking to this library
You should obtain the required CFLAGS and LIBS using pkg-config on the
gstreamer-plugins-base-1.0 module. You will then also need to add
'-lgstreamer-pbutils-1.0' manually to your LIBS line.
## Library initialisation
Before using any of its functions, applications and plugins must call
gst_pb_utils_init() to initialise the library.</doc>
</docsection>
<docsection name="gstpbutilscodecutils">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.c">Provides codec-specific ulility functions such as functions to provide the
codec profile and level in human-readable string form from header data.</doc>
</docsection>
<docsection name="gstpbutilsdescriptions">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/descriptions.c">The above functions provide human-readable strings for media formats
and decoder/demuxer/depayloader/encoder/muxer/payloader elements for use
in error dialogs or other messages shown to users.
gst_pb_utils_add_codec_description_to_tag_list() is a utility function
for demuxer and decoder elements to add audio/video codec tags from a
given (fixed) #GstCaps.</doc>
</docsection>
<docsection name="gstpbutilsinstallplugins">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/install-plugins.c">## Overview
Using this API, applications can request the installation of missing
GStreamer plugins. These may be missing decoders/demuxers or
encoders/muxers for a certain format, sources or sinks for a certain URI
protocol (e.g. 'http'), or certain elements known by their element
factory name ('audioresample').
Whether plugin installation is supported or not depends on the operating
system and/or distribution in question. The vendor of the operating
system needs to make sure the necessary hooks and mechanisms are in
place for plugin installation to work. See below for more detailed
information.
From the application perspective, plugin installation is usually
triggered either
- when the application itself has found that it wants or needs to
install a certain element
- when the application has been notified by an element (such as
playbin or decodebin) that one or more plugins are missing *and* the
application has decided that it wants to install one or more of
those missing plugins
The install functions in this section all take one or more 'detail
strings'. These detail strings contain information about the type of
plugin that needs to be installed (decoder, encoder, source, sink, or
named element), and some additional information such GStreamer version
used and a human-readable description of the component to install for
user dialogs.
Applications should not concern themselves with the composition of the
string itself. They should regard the string as if it was a shared
secret between GStreamer and the plugin installer application.
Detail strings can be obtained using the function
gst_missing_plugin_message_get_installer_detail() on a
missing-plugin message. Such a message will either have been found by
the application on a pipeline's #GstBus, or the application will have
created it itself using gst_missing_element_message_new(),
gst_missing_decoder_message_new(),
gst_missing_encoder_message_new(),
gst_missing_uri_sink_message_new(), or
gst_missing_uri_source_message_new().
For each GStreamer element/plugin/component that should be installed,
the application needs one of those 'installer detail' string mentioned
in the previous section. This string can be obtained, as already
mentioned above, from a missing-plugin message using the function
gst_missing_plugin_message_get_installer_detail(). The
missing-plugin message is either posted by another element and then
found on the bus by the application, or the application has created it
itself as described above.
The application will then call gst_install_plugins_async(), passing a
NULL-terminated array of installer detail strings, and a function that
should be called when the installation of the plugins has finished
(successfully or not). Optionally, a #GstInstallPluginsContext created
with gst_install_plugins_context_new() may be passed as well. This
way additional optional arguments like the application window's XID can
be passed to the external installer application.
gst_install_plugins_async() will return almost immediately, with the
return code indicating whether plugin installation was started or not.
If the necessary hooks for plugin installation are in place and an
external installer application has in fact been called, the passed in
function will be called with a result code as soon as the external
installer has finished. If the result code indicates that new plugins
have been installed, the application will want to call
gst_update_registry() so the run-time plugin registry is updated and
the new plugins are made available to the application.
&gt; A Gtk/GLib main loop must be running in order for the result function
&gt; to be called when the external installer has finished. If this is not
&gt; the case, make sure to regularly call in your code:
&gt;
&gt; g_main_context_iteration (NULL,FALSE);
## 1. Installer hook
When GStreamer applications initiate plugin installation via
gst_install_plugins_async() or gst_install_plugins_sync(), a
pre-defined helper application will be called.
The exact path of the helper application to be called is set at compile
time, usually by the build system based on the install prefix.
For a normal package build into the `/usr` prefix, this will usually
default to `/usr/libexec/gst-install-plugins-helper` or
`/usr/lib/gst-install-plugins-helper`.
Vendors/distros who want to support GStreamer plugin installation should
either provide such a helper script/application or use the meson option
`-Dinstall_plugins_helper'=/path/to/installer` to make GStreamer call an
installer of their own directly.
It is strongly recommended that vendors provide a small helper
application as interlocutor to the real installer though, even more so
if command line argument munging is required to transform the command
line arguments passed by GStreamer to the helper application into
arguments that are understood by the real installer.
The helper application path defined at compile time can be overridden at
runtime by setting the GST_INSTALL_PLUGINS_HELPER environment
variable. This can be useful for testing/debugging purposes.
## 2. Arguments passed to the install helper
GStreamer will pass the following arguments to the install helper (this
is in addition to the path of the executable itself, which is by
convention argv[0]):
- none to many optional arguments in the form of `--foo-bar=val`.
Example: `--transient-for=XID` where XID is the X Window ID of the
main window of the calling application (so the installer can make
itself transient to that window). Unknown optional arguments should
be ignored by the installer.
- one 'installer detail string' argument for each plugin to be
installed; these strings will have a `gstreamer` prefix; the exact
format of the detail string is explained below
## 3. Detail string describing the missing plugin
The string is in UTF-8 encoding and is made up of several fields,
separated by '|' characters (but neither the first nor the last
character is a '|'). The fields are:
- plugin system identifier, ie. "gstreamer"
This identifier determines the format of the rest of the detail
string. Automatic plugin installers should not process detail
strings with unknown identifiers. This allows other plugin-based
libraries to use the same mechanism for their automatic plugin
installation needs, or for the format to be changed should it turn
out to be insufficient.
- plugin system version, e.g. "1.0"
This is required so that when there is GStreamer-2.0 at some point
in future, the different major versions can still co-exist and use
the same plugin install mechanism in the same way.
- application identifier, e.g. "totem"
This may also be in the form of "pid/12345" if the program name
can't be obtained for some reason.
- human-readable localised description of the required component, e.g.
"Vorbis audio decoder"
- identifier string for the required component (see below for details
about how to map this to the package/plugin that needs installing),
e.g.
- urisource-$(PROTOCOL_REQUIRED), e.g. urisource-http or
urisource-mms
- element-$(ELEMENT_REQUIRED), e.g. element-videoconvert
- decoder-$(CAPS_REQUIRED), e.g. (do read below for more
details!):
- decoder-audio/x-vorbis
- decoder-application/ogg
- decoder-audio/mpeg, mpegversion=(int)4
- decoder-video/mpeg, systemstream=(boolean)true,
mpegversion=(int)2
- encoder-$(CAPS_REQUIRED), e.g. encoder-audio/x-vorbis
- optional further fields not yet specified
An entire ID string might then look like this, for example: `
gstreamer|1.0|totem|Vorbis audio decoder|decoder-audio/x-vorbis`
Plugin installers parsing this ID string should expect further fields
also separated by '|' symbols and either ignore them, warn the user, or
error out when encountering them.
Those unfamiliar with the GStreamer 'caps' system should note a few
things about the caps string used in the above decoder/encoder case:
- the first part ("video/mpeg") of the caps string is a GStreamer
media type and *not* a MIME type. Wherever possible, the GStreamer
media type will be the same as the corresponding MIME type, but
often it is not.
- a caps string may or may not have additional comma-separated fields
of various types (as seen in the examples above)
- the caps string of a 'required' component (as above) will always
have fields with fixed values, whereas an introspected string (see
below) may have fields with non-fixed values. Compare for example:
- `audio/mpeg, mpegversion=(int)4` vs.
`audio/mpeg, mpegversion=(int){2, 4}`
- `video/mpeg, mpegversion=(int)2` vs.
`video/mpeg, systemstream=(boolean){ true, false}, mpegversion=(int)[1, 2]`
## 4. Exit codes the installer should return
The installer should return one of the following exit codes when it
exits:
- 0 if all of the requested plugins could be installed
(#GST_INSTALL_PLUGINS_SUCCESS)
- 1 if no appropriate installation candidate for any of the requested
plugins could be found. Only return this if nothing has been
installed (#GST_INSTALL_PLUGINS_NOT_FOUND)
- 2 if an error occurred during the installation. The application will
assume that the user will already have seen an error message by the
installer in this case and will usually not show another one
(#GST_INSTALL_PLUGINS_ERROR)
- 3 if some of the requested plugins could be installed, but not all
(#GST_INSTALL_PLUGINS_PARTIAL_SUCCESS)
- 4 if the user aborted the installation
(#GST_INSTALL_PLUGINS_USER_ABORT)
## 5. How to map the required detail string to packages
It is up to the vendor to find mechanism to map required components from
the detail string to the actual packages/plugins to install. This could
be a hardcoded list of mappings, for example, or be part of the
packaging system metadata.
GStreamer plugin files can be introspected for this information. The
`gst-inspect` utility has a special command line option that will output
information similar to what is required. For example `
$ gst-inspect-1.0 --print-plugin-auto-install-info /path/to/libgstvorbis.so
should output something along the lines of
`decoder-audio/x-vorbis`, `element-vorbisdec` `element-vorbisenc`
`element-vorbisparse`, `element-vorbistag`, `encoder-audio/x-vorbis`
Note that in the encoder and decoder case the introspected caps can be
more complex with additional fields, e.g.
`audio/mpeg,mpegversion=(int){2,4}`, so they will not always exactly
match the caps wanted by the application. It is up to the installer to
deal with this (either by doing proper caps intersection using the
GStreamer #GstCaps API, or by only taking into account the media type).
Another potential source of problems are plugins such as ladspa or
libvisual where the list of elements depends on the installed
ladspa/libvisual plugins at the time. This is also up to the
distribution to handle (but usually not relevant for playback
applications).</doc>
</docsection>
<docsection name="gstpbutilsmissingplugins">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c">Functions to create, recognise and parse missing-plugins messages for
applications and elements.
Missing-plugin messages are posted on the bus by elements like decodebin
or playbin if they can't find an appropriate source element or decoder
element. The application can use these messages for two things:
* concise error/problem reporting to the user mentioning what exactly
is missing, see gst_missing_plugin_message_get_description()
* initiate installation of missing plugins, see
gst_missing_plugin_message_get_installer_detail() and
gst_install_plugins_async()
Applications may also create missing-plugin messages themselves to install
required elements that are missing, using the install mechanism mentioned
above.</doc>
</docsection>
<docsection name="gstpluginsbaseversion">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.c">Use the GST_PLUGINS_BASE_VERSION_* macros e.g. to check what version of
gst-plugins-base you are building against, and gst_plugins_base_version()
if you need to check at runtime what version of the gst-plugins-base
libraries are being used / you are currently linked against.
The version macros get defined by including &lt;gst/pbutils/pbutils.h&gt;.</doc>
</docsection>
<function name="install_plugins_async" c:identifier="gst_install_plugins_async">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/install-plugins.c">Requests plugin installation without blocking. Once the plugins have been
installed or installation has failed, @func will be called with the result

View file

@ -1989,19 +1989,26 @@ is set as zero, @lost_packets or @dup_packets will be zero.</doc>
<member name="priv" value="8" c:identifier="GST_RTCP_SDES_PRIV" glib:nick="priv">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Private extensions</doc>
</member>
<member name="h323_caddr" value="9" c:identifier="GST_RTCP_SDES_H323_CADDR" glib:nick="h323-caddr">
<member name="h323_caddr" value="9" c:identifier="GST_RTCP_SDES_H323_CADDR" version="1.20" glib:nick="h323-caddr">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">H.323 callable address</doc>
</member>
<member name="apsi" value="10" c:identifier="GST_RTCP_SDES_APSI" glib:nick="apsi">
<member name="apsi" value="10" c:identifier="GST_RTCP_SDES_APSI" version="1.20" glib:nick="apsi">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Application Specific Identifier (RFC6776)</doc>
</member>
<member name="rgrp" value="11" c:identifier="GST_RTCP_SDES_RGRP" glib:nick="rgrp">
<member name="rgrp" value="11" c:identifier="GST_RTCP_SDES_RGRP" version="1.20" glib:nick="rgrp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Reporting Group Identifier (RFC8861)</doc>
</member>
<member name="rtp_stream_id" value="12" c:identifier="GST_RTCP_SDES_RTP_STREAM_ID" glib:nick="rtp-stream-id">
<member name="rtp_stream_id" value="12" c:identifier="GST_RTCP_SDES_RTP_STREAM_ID" version="1.20" glib:nick="rtp-stream-id">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">RtpStreamId SDES item (RFC8852).</doc>
</member>
<member name="repaired_rtp_stream_id" value="13" c:identifier="GST_RTCP_SDES_REPAIRED_RTP_STREAM_ID" glib:nick="repaired-rtp-stream-id">
<member name="repaired_rtp_stream_id" value="13" c:identifier="GST_RTCP_SDES_REPAIRED_RTP_STREAM_ID" version="1.20" glib:nick="repaired-rtp-stream-id">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">RepairedRtpStreamId SDES item (RFC8852).</doc>
</member>
<member name="ccid" value="14" c:identifier="GST_RTCP_SDES_CCID" glib:nick="ccid">
<member name="ccid" value="14" c:identifier="GST_RTCP_SDES_CCID" version="1.20" glib:nick="ccid">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">CLUE CaptId (RFC8849)</doc>
</member>
<member name="mid" value="15" c:identifier="GST_RTCP_SDES_MID" glib:nick="mid">
<member name="mid" value="15" c:identifier="GST_RTCP_SDES_MID" version="1.20" glib:nick="mid">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">MID SDES item (RFC8843).</doc>
</member>
</enumeration>
<enumeration name="RTCPType" glib:type-name="GstRTCPType" glib:get-type="gst_rtcp_type_get_type" c:type="GstRTCPType">
@ -6007,6 +6014,14 @@ is no such metadata on @buffer.</doc>
</parameter>
</parameters>
</function>
<docsection name="gstrtpdefs">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtpdefs.h">Provides common defines for the RTP library.</doc>
</docsection>
<docsection name="gstrtppayloads">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtppayloads.c">The GstRTPPayloads helper functions makes it easy to deal with static and dynamic
payloads. Its main purpose is to retrieve properties such as the default clock-rate
and get session bandwidth information.</doc>
</docsection>
<function name="rtcp_buffer_map" c:identifier="gst_rtcp_buffer_map" moved-to="RTCPBuffer.map">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.c">Open @buffer for reading or writing, depending on @flags. The resulting RTCP
buffer state is stored in @rtcp.</doc>

View file

@ -4221,6 +4221,9 @@ not equal #GST_RTSP_OK.</doc>
</parameter>
</parameters>
</function-macro>
<docsection name="gstrtspdefs">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspdefs.c">Provides common defines for the RTSP library.</doc>
</docsection>
<function name="rtsp_auth_credentials_free" c:identifier="gst_rtsp_auth_credentials_free" version="1.12">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtsp/gstrtspmessage.c">Free a %NULL-terminated array of credentials returned from
gst_rtsp_message_parse_auth_credentials().</doc>

View file

@ -12445,6 +12445,386 @@ the media factory and retrieve the role with the same name.</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
</record>
<docsection name="rtsp-address-pool">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-address-pool.c">The #GstRTSPAddressPool is an object that maintains a collection of network
addresses. It is used to allocate server ports and server multicast addresses
but also to reserve client provided destination addresses.
A range of addresses can be added with gst_rtsp_address_pool_add_range().
Both multicast and unicast addresses can be added.
With gst_rtsp_address_pool_acquire_address() an unused address and port range
can be acquired from the pool. With gst_rtsp_address_pool_reserve_address() a
specific address can be retrieved. Both methods return a boxed
#GstRTSPAddress that should be freed with gst_rtsp_address_free() after
usage, which brings the address back into the pool.
Last reviewed on 2013-07-16 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-auth">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-auth.c">The #GstRTSPAuth object is responsible for checking if the current user is
allowed to perform requested actions. The default implementation has some
reasonable checks but subclasses can implement custom security policies.
A new auth object is made with gst_rtsp_auth_new(). It is usually configured
on the #GstRTSPServer object.
The RTSP server will call gst_rtsp_auth_check() with a string describing the
check to perform. The possible checks are prefixed with
GST_RTSP_AUTH_CHECK_*. Depending on the check, the default implementation
will use the current #GstRTSPToken, #GstRTSPContext and
#GstRTSPPermissions on the object to check if an operation is allowed.
The default #GstRTSPAuth object has support for basic authentication. With
gst_rtsp_auth_add_basic() you can add a basic authentication string together
with the #GstRTSPToken that will become active when successfully
authenticated.
When a TLS certificate has been set with gst_rtsp_auth_set_tls_certificate(),
the default auth object will require the client to connect with a TLS
connection.
Last reviewed on 2013-07-16 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-client">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-client.c">The client object handles the connection with a client for as long as a TCP
connection is open.
A #GstRTSPClient is created by #GstRTSPServer when a new connection is
accepted and it inherits the #GstRTSPMountPoints, #GstRTSPSessionPool,
#GstRTSPAuth and #GstRTSPThreadPool from the server.
The client connection should be configured with the #GstRTSPConnection using
gst_rtsp_client_set_connection() before it can be attached to a #GMainContext
using gst_rtsp_client_attach(). From then on the client will handle requests
on the connection.
Use gst_rtsp_client_session_filter() to iterate or modify all the
#GstRTSPSession objects managed by the client object.
Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-context">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-context.c">Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-media">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-media.c">a #GstRTSPMedia contains the complete GStreamer pipeline to manage the
streaming to the clients. The actual data transfer is done by the
#GstRTSPStream objects that are created and exposed by the #GstRTSPMedia.
The #GstRTSPMedia is usually created from a #GstRTSPMediaFactory when the
client does a DESCRIBE or SETUP of a resource.
A media is created with gst_rtsp_media_new() that takes the element that will
provide the streaming elements. For each of the streams, a new #GstRTSPStream
object needs to be made with the gst_rtsp_media_create_stream() which takes
the payloader element and the source pad that produces the RTP stream.
The pipeline of the media is set to PAUSED with gst_rtsp_media_prepare(). The
prepare method will add rtpbin and sinks and sources to send and receive RTP
and RTCP packets from the clients. Each stream srcpad is connected to an
input into the internal rtpbin.
It is also possible to dynamically create #GstRTSPStream objects during the
prepare phase. With gst_rtsp_media_get_status() you can check the status of
the prepare phase.
After the media is prepared, it is ready for streaming. It will usually be
managed in a session with gst_rtsp_session_manage_media(). See
#GstRTSPSession and #GstRTSPSessionMedia.
The state of the media can be controlled with gst_rtsp_media_set_state ().
Seeking can be done with gst_rtsp_media_seek(), or gst_rtsp_media_seek_full()
or gst_rtsp_media_seek_trickmode() for finer control of the seek.
With gst_rtsp_media_unprepare() the pipeline is stopped and shut down. When
gst_rtsp_media_set_eos_shutdown() an EOS will be sent to the pipeline to
cleanly shut down.
With gst_rtsp_media_set_shared(), the media can be shared between multiple
clients. With gst_rtsp_media_set_reusable() you can control if the pipeline
can be prepared again after an unprepare.
Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-media-factory">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-media-factory.c">The #GstRTSPMediaFactory is responsible for creating or recycling
#GstRTSPMedia objects based on the passed URL.
The default implementation of the object can create #GstRTSPMedia objects
containing a pipeline created from a launch description set with
gst_rtsp_media_factory_set_launch().
Media from a factory can be shared by setting the shared flag with
gst_rtsp_media_factory_set_shared(). When a factory is shared,
gst_rtsp_media_factory_construct() will return the same #GstRTSPMedia when
the url matches.
Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-media-factory-uri">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-media-factory-uri.c">This specialized #GstRTSPMediaFactory constructs media pipelines from a URI,
given with gst_rtsp_media_factory_uri_set_uri().
It will automatically demux and payload the different streams found in the
media at URL.
Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-mount-points">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-mount-points.c">A #GstRTSPMountPoints object maintains a relation between paths
and #GstRTSPMediaFactory objects. This object is usually given to
#GstRTSPClient and used to find the media attached to a path.
With gst_rtsp_mount_points_add_factory () and
gst_rtsp_mount_points_remove_factory(), factories can be added and
removed.
With gst_rtsp_mount_points_match() you can find the #GstRTSPMediaFactory
object that completely matches the given path.
Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-onvif-media">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-onvif-media.c">a #GstRTSPOnvifMedia contains the complete GStreamer pipeline to manage the
streaming to the clients. The actual data transfer is done by the
#GstRTSPStream objects that are created and exposed by the #GstRTSPMedia.
On top of #GstRTSPMedia this subclass adds special ONVIF features.
Special ONVIF features that are currently supported is a backchannel for
the client to send back media to the server in a normal PLAY media. To
handle the ONVIF backchannel, a #GstRTSPOnvifMediaFactory and
#GstRTSPOnvifServer has to be used.</doc>
</docsection>
<docsection name="rtsp-onvif-media-factory">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-onvif-media-factory.c">The #GstRTSPOnvifMediaFactory is responsible for creating or recycling
#GstRTSPMedia objects based on the passed URL. Different to
#GstRTSPMediaFactory, this supports special ONVIF features and can create
#GstRTSPOnvifMedia in addition to normal #GstRTSPMedia.
Special ONVIF features that are currently supported is a backchannel for
the client to send back media to the server in a normal PLAY media, see
gst_rtsp_onvif_media_factory_set_backchannel_launch() and
gst_rtsp_onvif_media_factory_set_backchannel_bandwidth().</doc>
</docsection>
<docsection name="rtsp-onvif-server">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-onvif-server.c">The server object is the object listening for connections on a port and
creating #GstRTSPOnvifClient objects to handle those connections.
The only different to #GstRTSPServer is that #GstRTSPOnvifServer creates
#GstRTSPOnvifClient that have special handling for ONVIF specific features,
like a backchannel that allows clients to send back media to the server.</doc>
</docsection>
<docsection name="rtsp-params">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-params.c">Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-permissions">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-permissions.c">The #GstRTSPPermissions object contains an array of roles and associated
permissions. The roles are represented with a string and the permissions with
a generic #GstStructure.
The permissions are deliberately kept generic. The possible values of the
roles and #GstStructure keys and values are only determined by the #GstRTSPAuth
object that performs the checks on the permissions and the current
#GstRTSPToken.
As a convenience function, gst_rtsp_permissions_is_allowed() can be used to
check if the permissions contains a role that contains the boolean value
%TRUE for the the given key.
Last reviewed on 2013-07-15 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-sdp">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-sdp.c">Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-server">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-server.c">The server object is the object listening for connections on a port and
creating #GstRTSPClient objects to handle those connections.
The server will listen on the address set with gst_rtsp_server_set_address()
and the port or service configured with gst_rtsp_server_set_service().
Use gst_rtsp_server_set_backlog() to configure the amount of pending requests
that the server will keep. By default the server listens on the current
network (0.0.0.0) and port 8554.
The server will require an SSL connection when a TLS certificate has been
set in the auth object with gst_rtsp_auth_set_tls_certificate().
To start the server, use gst_rtsp_server_attach() to attach it to a
#GMainContext. For more control, gst_rtsp_server_create_source() and
gst_rtsp_server_create_socket() can be used to get a #GSource and #GSocket
respectively.
gst_rtsp_server_transfer_connection() can be used to transfer an existing
socket to the RTSP server, for example from an HTTP server.
Once the server socket is attached to a mainloop, it will start accepting
connections. When a new connection is received, a new #GstRTSPClient object
is created to handle the connection. The new client will be configured with
the server #GstRTSPAuth, #GstRTSPMountPoints, #GstRTSPSessionPool and
#GstRTSPThreadPool.
The server uses the configured #GstRTSPThreadPool object to handle the
remainder of the communication with this client.
Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-session">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-session.c">The #GstRTSPSession is identified by an id, unique in the
#GstRTSPSessionPool that created the session and manages media and its
configuration.
A #GstRTSPSession has a timeout that can be retrieved with
gst_rtsp_session_get_timeout(). You can check if the sessions is expired with
gst_rtsp_session_is_expired(). gst_rtsp_session_touch() will reset the
expiration counter of the session.
When a client configures a media with SETUP, a session will be created to
keep track of the configuration of that media. With
gst_rtsp_session_manage_media(), the media is added to the managed media
in the session. With gst_rtsp_session_release_media() the media can be
released again from the session. Managed media is identified in the sessions
with a url. Use gst_rtsp_session_get_media() to get the media that matches
(part of) the given url.
The media in a session can be iterated with gst_rtsp_session_filter().
Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-session-media">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-session-media.c">The #GstRTSPSessionMedia object manages a #GstRTSPMedia with a given path.
With gst_rtsp_session_media_get_transport() and
gst_rtsp_session_media_set_transport() the transports of a #GstRTSPStream of
the managed #GstRTSPMedia can be retrieved and configured.
Use gst_rtsp_session_media_set_state() to control the media state and
transports.
Last reviewed on 2013-07-16 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-session-pool">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-session-pool.c">The #GstRTSPSessionPool object manages a list of #GstRTSPSession objects.
The maximum number of sessions can be configured with
gst_rtsp_session_pool_set_max_sessions(). The current number of sessions can
be retrieved with gst_rtsp_session_pool_get_n_sessions().
Use gst_rtsp_session_pool_create() to create a new #GstRTSPSession object.
The session object can be found again with its id and
gst_rtsp_session_pool_find().
All sessions can be iterated with gst_rtsp_session_pool_filter().
Run gst_rtsp_session_pool_cleanup() periodically to remove timed out sessions
or use gst_rtsp_session_pool_create_watch() to be notified when session
cleanup should be performed.
Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-stream">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream.c">The #GstRTSPStream object manages the data transport for one stream. It
is created from a payloader element and a source pad that produce the RTP
packets for the stream.
With gst_rtsp_stream_join_bin() the streaming elements are added to the bin
and rtpbin. gst_rtsp_stream_leave_bin() removes the elements again.
The #GstRTSPStream will use the configured addresspool, as set with
gst_rtsp_stream_set_address_pool(), to allocate multicast addresses for the
stream. With gst_rtsp_stream_get_multicast_address() you can get the
configured address.
With gst_rtsp_stream_get_server_port () you can get the port that the server
will use to receive RTCP. This is the part that the clients will use to send
RTCP to.
With gst_rtsp_stream_add_transport() destinations can be added where the
stream should be sent to. Use gst_rtsp_stream_remove_transport() to remove
the destination again.
Each #GstRTSPStreamTransport spawns one queue that will serve as a backlog of a
controllable maximum size when the reflux from the TCP connection's backpressure
starts spilling all over.
Unlike the backlog in rtspconnection, which we have decided should only contain
at most one RTP and one RTCP data message in order to allow control messages to
go through unobstructed, this backlog only consists of data messages, allowing
us to fill it up without concern.
When multiple TCP transports exist, for example in the context of a shared media,
we only pop samples from our appsinks when at least one of the transports doesn't
experience back pressure: this allows us to pace our sample popping to the speed
of the fastest client.
When a sample is popped, it is either sent directly on transports that don't
experience backpressure, or queued on the transport's backlog otherwise. Samples
are then popped from that backlog when the transport reports it has sent the message.
Once the backlog reaches an overly large duration, the transport is dropped as
the client was deemed too slow.</doc>
</docsection>
<docsection name="rtsp-stream-transport">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-stream-transport.c">The #GstRTSPStreamTransport configures the transport used by a
#GstRTSPStream. It is usually manages by a #GstRTSPSessionMedia object.
With gst_rtsp_stream_transport_set_callbacks(), callbacks can be configured
to handle the RTP and RTCP packets from the stream, for example when they
need to be sent over TCP.
With gst_rtsp_stream_transport_set_active() the transports are added and
removed from the stream.
A #GstRTSPStream will call gst_rtsp_stream_transport_keep_alive() when RTCP
is received from the client. It will also call
gst_rtsp_stream_transport_set_timed_out() when a receiver has timed out.
A #GstRTSPClient will call gst_rtsp_stream_transport_message_sent() when it
has sent a data message for the transport.
Last reviewed on 2013-07-16 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-thread-pool">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-thread-pool.c">A #GstRTSPThreadPool manages reusable threads for various server tasks.
Currently the defined thread types can be found in #GstRTSPThreadType.
Threads of type #GST_RTSP_THREAD_TYPE_CLIENT are used to handle requests from
a connected client. With gst_rtsp_thread_pool_get_max_threads() a maximum
number of threads can be set after which the pool will start to reuse the
same thread for multiple clients.
Threads of type #GST_RTSP_THREAD_TYPE_MEDIA will be used to perform the state
changes of the media pipelines and handle its bus messages.
gst_rtsp_thread_pool_get_thread() can be used to create a #GstRTSPThread
object of the right type. The thread object contains a mainloop and context
that run in a seperate thread and can be used to attached sources to.
gst_rtsp_thread_reuse() can be used to reuse a thread for multiple purposes.
If all gst_rtsp_thread_reuse() calls are matched with a
gst_rtsp_thread_stop() call, the mainloop will be quit and the thread will
stop.
To configure the threads, a subclass of this object should be made and the
virtual methods should be overriden to implement the desired functionality.
Last reviewed on 2013-07-11 (1.0.0)</doc>
</docsection>
<docsection name="rtsp-token">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-token.c">A #GstRTSPToken contains the permissions and roles of the user
performing the current request. A token is usually created when a user is
authenticated by the #GstRTSPAuth object and is then placed as the current
token for the current request.
#GstRTSPAuth can use the token and its contents to check authorization for
various operations by comparing the token to the #GstRTSPPermissions of the
object.
The accepted values of the token are entirely defined by the #GstRTSPAuth
object that implements the security policy.
Last reviewed on 2013-07-15 (1.0.0)</doc>
</docsection>
<function name="rtsp_context_get_current" c:identifier="gst_rtsp_context_get_current" moved-to="RTSPContext.get_current" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-context.c">Get the current #GstRTSPContext. This object is retrieved from the
current thread that is handling the request for a client.</doc>

View file

@ -4117,6 +4117,10 @@ time.</doc>
</parameter>
</parameters>
</function-macro>
<docsection name="gstmikey">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/sdp/gstmikey.c">The GstMIKEY helper functions makes it easy to parse and create MIKEY
messages.</doc>
</docsection>
<function name="sdp_address_is_multicast" c:identifier="gst_sdp_address_is_multicast">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/sdp/gstsdpmessage.c">Check if the given @addr is a multicast address.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/sdp/gstsdpmessage.h"/>

View file

@ -929,6 +929,41 @@ the schema wasn't in the list</doc>
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
</field>
</record>
<docsection name="gsttag">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/tags.c">Contains additional standardized GStreamer tag definitions for plugins
and applications, and functions to register them with the GStreamer
tag system.</doc>
</docsection>
<docsection name="gsttagexif">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstexiftag.c">Contains utility function to parse #GstTagList&lt;!-- --&gt;s from exif
buffers and to create exif buffers from #GstTagList&lt;!-- --&gt;s
Note that next IFD fields on the created exif buffers are set to 0.</doc>
</docsection>
<docsection name="gsttagid3">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstid3tag.c">Contains various utility functions for plugins to parse or create
ID3 tags and map ID3v2 identifiers to and from GStreamer identifiers.</doc>
</docsection>
<docsection name="gsttaglanguagecodes">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">Provides helper functions to convert between the various ISO-639 language
codes, and to map language codes to language names.</doc>
</docsection>
<docsection name="gsttaglicenses">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/licenses.c">Provides information about Creative Commons media licenses, which are
often expressed in media files as a license URI in tags. Also useful
for applications creating media files, in case the user wants to license
the content under a Creative Commons license.</doc>
</docsection>
<docsection name="gsttagvorbis">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstvorbistag.c">Contains various utility functions for plugins to parse or create
vorbiscomments and map them to and from #GstTagList&lt;!-- --&gt;s.</doc>
</docsection>
<docsection name="gsttagxmp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/gstxmptag.c">Contains various utility functions for plugins to parse or create
xmp packets and map them to and from #GstTagList&lt;!-- --&gt;s.
Please note that the xmp parser is very lightweight and not strict at all.</doc>
</docsection>
<function name="tag_check_language_code" c:identifier="gst_tag_check_language_code">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/tag/lang.c">Check if a given string contains a known ISO 639 language code.

View file

@ -348,7 +348,7 @@ Pass 0 to stop updating the position.</doc>
</class>
<record name="TranscoderClass" c:type="GstTranscoderClass" glib:is-gtype-struct-for="Transcoder">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/transcoder/gsttranscoder.h"/>
<field name="parent_class">
<field name="parent_class" version="1.20">
<type name="Gst.ObjectClass" c:type="GstObjectClass"/>
</field>
</record>

View file

@ -248,7 +248,8 @@ value to a GstClockTime.</doc>
for mandatory streams.</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="free" writable="1">
<field name="free" version="1.24" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.h">Function that frees the various members of the structure when done using</doc>
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
@ -274,9 +275,12 @@ GST_VALIDATE_EXECUTE_ACTION_DONE:</doc>
</member>
<member name="async" value="2" c:identifier="GST_VALIDATE_EXECUTE_ACTION_ASYNC" glib:nick="async">
</member>
<member name="non_blocking" value="3" c:identifier="GST_VALIDATE_EXECUTE_ACTION_NON_BLOCKING" glib:nick="non-blocking">
<member name="non_blocking" value="3" c:identifier="GST_VALIDATE_EXECUTE_ACTION_NON_BLOCKING" version="1.20" glib:nick="non-blocking">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.h">The action will be executed asynchronously without blocking further
actions to be executed</doc>
</member>
<member name="interlaced" value="3" c:identifier="GST_VALIDATE_EXECUTE_ACTION_INTERLACED" glib:nick="interlaced">
<doc-deprecated xml:space="preserve">Use #GST_VALIDATE_EXECUTE_ACTION_NON_BLOCKING instead.</doc-deprecated>
</member>
<member name="error_reported" value="4" c:identifier="GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED" glib:nick="error-reported">
</member>
@ -357,9 +361,12 @@ GST_VALIDATE_EXECUTE_ACTION_DONE:</doc>
<member name="async" value="4" c:identifier="GST_VALIDATE_ACTION_TYPE_ASYNC" glib:nick="async">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.h">The action can be executed ASYNC</doc>
</member>
<member name="non_blocking" value="8" c:identifier="GST_VALIDATE_ACTION_TYPE_NON_BLOCKING" glib:nick="non-blocking">
<member name="non_blocking" value="8" c:identifier="GST_VALIDATE_ACTION_TYPE_NON_BLOCKING" version="1.20" glib:nick="non-blocking">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.h">The action can be executed asynchronously but without blocking further
actions execution.</doc>
</member>
<member name="interlaced" value="8" c:identifier="GST_VALIDATE_ACTION_TYPE_INTERLACED" glib:nick="interlaced">
<doc-deprecated xml:space="preserve">Use #GST_VALIDATE_ACTION_TYPE_NON_BLOCKING instead.</doc-deprecated>
</member>
<member name="can_execute_on_addition" value="16" c:identifier="GST_VALIDATE_ACTION_TYPE_CAN_EXECUTE_ON_ADDITION" glib:nick="can-execute-on-addition">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.h">The action will be executed on 'element-added'
@ -385,7 +392,11 @@ GST_VALIDATE_EXECUTE_ACTION_DONE:</doc>
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.h">The action can be used in config files even if it is not strictly a config
action (ie. it needs a scenario to run).</doc>
</member>
<member name="check" value="1024" c:identifier="GST_VALIDATE_ACTION_TYPE_CHECK" glib:nick="check">
<member name="check" value="1024" c:identifier="GST_VALIDATE_ACTION_TYPE_CHECK" version="1.22" glib:nick="check">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.h">The action is checking some state from objects in the pipeline. It means that it can
be used as 'check' in different action which have a `check` "sub action", such as the 'wait' action type.
This implies that the action can be executed from any thread and not only from the scenario thread as other
types.</doc>
</member>
</bitfield>
<record name="ActionTypePrivate" c:type="GstValidateActionTypePrivate" disguised="1">
@ -799,7 +810,8 @@ GST_VALIDATE_ISSUE_FLAGS_NO_BACKTRACE: Do not generate backtrace for the issue t
</member>
<member name="no_backtrace" value="2" c:identifier="GST_VALIDATE_ISSUE_FLAGS_NO_BACKTRACE" glib:nick="no-backtrace">
</member>
<member name="force_backtrace" value="4" c:identifier="GST_VALIDATE_ISSUE_FLAGS_FORCE_BACKTRACE" glib:nick="force-backtrace">
<member name="force_backtrace" value="4" c:identifier="GST_VALIDATE_ISSUE_FLAGS_FORCE_BACKTRACE" version="1.20" glib:nick="force-backtrace">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-report.h">Always generate backtrace, even if not a critical issue</doc>
</member>
</bitfield>
<function-macro name="MEDIA_DESCRIPTOR_GET_LOCK" c:identifier="GST_VALIDATE_MEDIA_DESCRIPTOR_GET_LOCK" introspectable="0">
@ -3997,6 +4009,61 @@ target-element field.</doc>
</parameter>
</parameters>
</function>
<docsection name="gst-validate-bin-monitor">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-bin-monitor.c">TODO</doc>
</docsection>
<docsection name="gst-validate-element-monitor">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-element-monitor.c">TODO</doc>
</docsection>
<docsection name="gst-validate-monitor">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-monitor.c">TODO</doc>
</docsection>
<docsection name="gst-validate-monitor-factory">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-monitor-factory.c">To start monitoring and thus run GstValidate tests on a #GstPipeline, the only thing to
do is to instanciate a #GstValidateRunner and then attach a #GstValidateMonitor
to it with #gst_validate_monitor_factory_create</doc>
</docsection>
<docsection name="gst-validate-override">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-override.c">TODO</doc>
</docsection>
<docsection name="gst-validate-pad-monitor">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-pad-monitor.c">TODO</doc>
</docsection>
<docsection name="gst-validate-pipeline-monitor">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-pipeline-monitor.c">TODO</doc>
</docsection>
<docsection name="gst-validate-runner">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-runner.c">Allows you to test a pipeline within GstValidate. It is the object where
all issue reporting is done.
In the tools using GstValidate the only minimal code to be able to monitor
your pipelines is:
|[
GstPipeline *pipeline = gst_pipeline_new ("monitored-pipeline");
GstValidateRunner *runner = gst_validate_runner_new ();
GstValidateMonitor *monitor = gst_validate_monitor_factory_create (
GST_OBJECT (pipeline), runner, NULL);
// Run the pipeline and do whatever you want with it
// In that same order
gst_object_unref (pipeline);
gst_object_unref (runner);
gst_object_unref (monitor);
]|</doc>
</docsection>
<docsection name="gst-validate-scenario">
<doc xml:space="preserve" filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-scenario.c">A #GstValidateScenario represents the scenario that will be executed on a #GstPipeline.
It is basically an ordered list of #GstValidateAction that will be executed during the
execution of the pipeline.
Possible configurations (see [GST_VALIDATE_CONFIG](gst-validate-environment-variables.md)):
* scenario-action-execution-interval: Sets the interval in
milliseconds (1/1000ths of a second), between which actions
will be executed, setting it to 0 means "execute in idle".
The default value is 10ms.</doc>
</docsection>
<function name="has_colored_output" c:identifier="gst_validate_has_colored_output">
<source-position filename="../subprojects/gst-devtools/validate/gst/validate/gst-validate-utils.h"/>
<return-value transfer-ownership="none">

View file

@ -1962,36 +1962,32 @@ event.</doc>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">A navigation command event. Use
gst_navigation_event_parse_command() to extract the details from the event.</doc>
</member>
<member name="mouse_scroll" value="7" c:identifier="GST_NAVIGATION_EVENT_MOUSE_SCROLL" glib:nick="mouse-scroll">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">A mouse scroll event. Use
gst_navigation_event_parse_mouse_scroll_event() to extract the details from
the event. (Since: 1.18)</doc>
<member name="mouse_scroll" value="7" c:identifier="GST_NAVIGATION_EVENT_MOUSE_SCROLL" version="1.18" glib:nick="mouse-scroll">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">A mouse scroll event. Use gst_navigation_event_parse_mouse_scroll_event()
to extract the details from the event.</doc>
</member>
<member name="touch_down" value="8" c:identifier="GST_NAVIGATION_EVENT_TOUCH_DOWN" glib:nick="touch-down">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event describing a new touch point,
which will be assigned an identifier that is unique to it for the duration
of its movement on the screen. Use gst_navigation_event_parse_touch_event()
to extract the details from the event. (Since: 1.22)</doc>
<member name="touch_down" value="8" c:identifier="GST_NAVIGATION_EVENT_TOUCH_DOWN" version="1.22" glib:nick="touch-down">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event describing a new touch point, which will be assigned an identifier
that is unique to it for the duration of its movement on the screen.
Use gst_navigation_event_parse_touch_event() to extract the details
from the event.</doc>
</member>
<member name="touch_motion" value="9" c:identifier="GST_NAVIGATION_EVENT_TOUCH_MOTION" glib:nick="touch-motion">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event describing the movement of an
active touch point across the screen. Use
gst_navigation_event_parse_touch_event() to extract the details from the
event. (Since: 1.22)</doc>
<member name="touch_motion" value="9" c:identifier="GST_NAVIGATION_EVENT_TOUCH_MOTION" version="1.22" glib:nick="touch-motion">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event describing the movement of an active touch point across
the screen. Use gst_navigation_event_parse_touch_event() to extract
the details from the event.</doc>
</member>
<member name="touch_up" value="10" c:identifier="GST_NAVIGATION_EVENT_TOUCH_UP" glib:nick="touch-up">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event describing a removed touch point.
After this event, its identifier may be reused for any new touch points. Use
gst_navigation_event_parse_touch_up_event() to extract the details from the
event. (Since: 1.22)</doc>
<member name="touch_up" value="10" c:identifier="GST_NAVIGATION_EVENT_TOUCH_UP" version="1.22" glib:nick="touch-up">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event describing a removed touch point. After this event,
its identifier may be reused for any new touch points.
Use gst_navigation_event_parse_touch_up_event() to extract the details
from the event.</doc>
</member>
<member name="touch_frame" value="11" c:identifier="GST_NAVIGATION_EVENT_TOUCH_FRAME" glib:nick="touch-frame">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event signaling the end of a sequence
of simultaneous touch events. (Since: 1.22)</doc>
<member name="touch_frame" value="11" c:identifier="GST_NAVIGATION_EVENT_TOUCH_FRAME" version="1.22" glib:nick="touch-frame">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event signaling the end of a sequence of simultaneous touch events.</doc>
</member>
<member name="touch_cancel" value="12" c:identifier="GST_NAVIGATION_EVENT_TOUCH_CANCEL" glib:nick="touch-cancel">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event cancelling all currently active
touch points. (Since: 1.22)</doc>
<member name="touch_cancel" value="12" c:identifier="GST_NAVIGATION_EVENT_TOUCH_CANCEL" version="1.22" glib:nick="touch-cancel">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event cancelling all currently active touch points.</doc>
</member>
</enumeration>
<record name="NavigationInterface" c:type="GstNavigationInterface" glib:is-gtype-struct-for="Navigation">
@ -5742,8 +5738,8 @@ will be freed.</doc>
<member name="force_keyframe_headers" value="8" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS" glib:nick="force-keyframe-headers">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.h">should the encoder output stream headers</doc>
</member>
<member name="corrupted" value="16" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED" glib:nick="corrupted">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.h">the buffer data is corrupted (Since: 1.20)</doc>
<member name="corrupted" value="16" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED" version="1.20" glib:nick="corrupted">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.h">The buffer data is corrupted.</doc>
</member>
</bitfield>
<record name="VideoCodecState" c:type="GstVideoCodecState" glib:type-name="GstVideoCodecState" glib:get-type="gst_video_codec_state_get_type" c:symbol-prefix="video_codec_state">
@ -5778,14 +5774,12 @@ gst_video_encoder_set_output_state() methods.</doc>
negotiation. Since: 1.10</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</field>
<field name="mastering_display_info" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.h">Mastering display color volume information
(HDR metadata) for the stream. Since: 1.20</doc>
<field name="mastering_display_info" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.h">Mastering display color volume information (HDR metadata) for the stream.</doc>
<type name="VideoMasteringDisplayInfo" c:type="GstVideoMasteringDisplayInfo*"/>
</field>
<field name="content_light_level" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.h">Content light level information for the stream.
Since: 1.20</doc>
<field name="content_light_level" version="1.20" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideoutils.h">Content light level information for the stream.</doc>
<type name="VideoContentLightLevel" c:type="GstVideoContentLightLevel*"/>
</field>
<field name="padding" readable="0" private="1">
@ -10099,116 +10093,128 @@ for details about the layout and packing of these formats in memory.</doc>
<member name="y412_le" value="96" c:identifier="GST_VIDEO_FORMAT_Y412_LE" glib:nick="y412-le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18)</doc>
</member>
<member name="nv12_4l4" value="97" c:identifier="GST_VIDEO_FORMAT_NV12_4L4" glib:nick="nv12-4l4">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 with 4x4 tiles in linear order (Since: 1.18)</doc>
<member name="nv12_4l4" value="97" c:identifier="GST_VIDEO_FORMAT_NV12_4L4" version="1.18" glib:nick="nv12-4l4">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 with 4x4 tiles in linear order.</doc>
</member>
<member name="nv12_32l32" value="98" c:identifier="GST_VIDEO_FORMAT_NV12_32L32" glib:nick="nv12-32l32">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 with 32x32 tiles in linear order (Since: 1.18)</doc>
<member name="nv12_32l32" value="98" c:identifier="GST_VIDEO_FORMAT_NV12_32L32" version="1.18" glib:nick="nv12-32l32">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 with 32x32 tiles in linear order.</doc>
</member>
<member name="rgbp" value="99" c:identifier="GST_VIDEO_FORMAT_RGBP" glib:nick="rgbp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4 RGB, 8 bits per channel (Since: 1.20)</doc>
<member name="rgbp" value="99" c:identifier="GST_VIDEO_FORMAT_RGBP" version="1.20" glib:nick="rgbp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Planar 4:4:4 RGB, R-G-B order</doc>
</member>
<member name="bgrp" value="100" c:identifier="GST_VIDEO_FORMAT_BGRP" glib:nick="bgrp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4 RGB, 8 bits per channel (Since: 1.20)</doc>
<member name="bgrp" value="100" c:identifier="GST_VIDEO_FORMAT_BGRP" version="1.20" glib:nick="bgrp">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Planar 4:4:4 RGB, B-G-R order</doc>
</member>
<member name="av12" value="101" c:identifier="GST_VIDEO_FORMAT_AV12" glib:nick="av12">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Planar 4:2:0 YUV with interleaved UV plane with alpha as 3rd plane (Since: 1.20)</doc>
<member name="av12" value="101" c:identifier="GST_VIDEO_FORMAT_AV12" version="1.20" glib:nick="av12">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Planar 4:2:0 YUV with interleaved UV plane with alpha as
3rd plane.</doc>
</member>
<member name="argb64_le" value="102" c:identifier="GST_VIDEO_FORMAT_ARGB64_LE" glib:nick="argb64-le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">RGB with alpha channel first, 16 bits per channel</doc>
<member name="argb64_le" value="102" c:identifier="GST_VIDEO_FORMAT_ARGB64_LE" version="1.20" glib:nick="argb64-le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">RGB with alpha channel first, 16 bits (little endian)
per channel.</doc>
</member>
<member name="argb64_be" value="103" c:identifier="GST_VIDEO_FORMAT_ARGB64_BE" glib:nick="argb64-be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">RGB with alpha channel first, 16 bits per channel</doc>
<member name="argb64_be" value="103" c:identifier="GST_VIDEO_FORMAT_ARGB64_BE" version="1.20" glib:nick="argb64-be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">RGB with alpha channel first, 16 bits (big endian)
per channel.</doc>
</member>
<member name="rgba64_le" value="104" c:identifier="GST_VIDEO_FORMAT_RGBA64_LE" glib:nick="rgba64-le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">RGB with alpha channel last, 16 bits per channel</doc>
<member name="rgba64_le" value="104" c:identifier="GST_VIDEO_FORMAT_RGBA64_LE" version="1.20" glib:nick="rgba64-le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">RGB with alpha channel last, 16 bits (little endian)
per channel.</doc>
</member>
<member name="rgba64_be" value="105" c:identifier="GST_VIDEO_FORMAT_RGBA64_BE" glib:nick="rgba64-be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">RGB with alpha channel last, 16 bits per channel</doc>
<member name="rgba64_be" value="105" c:identifier="GST_VIDEO_FORMAT_RGBA64_BE" version="1.20" glib:nick="rgba64-be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">RGB with alpha channel last, 16 bits (big endian)
per channel.</doc>
</member>
<member name="bgra64_le" value="106" c:identifier="GST_VIDEO_FORMAT_BGRA64_LE" glib:nick="bgra64-le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">reverse RGB with alpha channel last, 16 bits per channel</doc>
<member name="bgra64_le" value="106" c:identifier="GST_VIDEO_FORMAT_BGRA64_LE" version="1.20" glib:nick="bgra64-le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Reverse RGB with alpha channel last, 16 bits (little endian)
per channel.</doc>
</member>
<member name="bgra64_be" value="107" c:identifier="GST_VIDEO_FORMAT_BGRA64_BE" glib:nick="bgra64-be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">reverse RGB with alpha channel last, 16 bits per channel</doc>
<member name="bgra64_be" value="107" c:identifier="GST_VIDEO_FORMAT_BGRA64_BE" version="1.20" glib:nick="bgra64-be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Reverse RGB with alpha channel last, 16 bits (big endian)
per channel.</doc>
</member>
<member name="abgr64_le" value="108" c:identifier="GST_VIDEO_FORMAT_ABGR64_LE" glib:nick="abgr64-le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">reverse RGB with alpha channel first, 16 bits per channel</doc>
<member name="abgr64_le" value="108" c:identifier="GST_VIDEO_FORMAT_ABGR64_LE" version="1.20" glib:nick="abgr64-le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Reverse RGB with alpha channel first, 16 bits (little endian)
per channel.</doc>
</member>
<member name="abgr64_be" value="109" c:identifier="GST_VIDEO_FORMAT_ABGR64_BE" glib:nick="abgr64-be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">reverse RGB with alpha channel first, 16 bits per channel</doc>
<member name="abgr64_be" value="109" c:identifier="GST_VIDEO_FORMAT_ABGR64_BE" version="1.20" glib:nick="abgr64-be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Reverse RGB with alpha channel first, 16 bits (big endian)
per channel.</doc>
</member>
<member name="nv12_16l32s" value="110" c:identifier="GST_VIDEO_FORMAT_NV12_16L32S" glib:nick="nv12-16l32s">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 with 16x32 Y tiles and 16x16 UV tiles. (Since: 1.22)</doc>
<member name="nv12_16l32s" value="110" c:identifier="GST_VIDEO_FORMAT_NV12_16L32S" version="1.22" glib:nick="nv12-16l32s">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 with 16x32 Y tiles and 16x16 UV tiles.</doc>
</member>
<member name="nv12_8l128" value="111" c:identifier="GST_VIDEO_FORMAT_NV12_8L128" glib:nick="nv12-8l128">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 with 8x128 tiles in linear order (Since: 1.22)</doc>
<member name="nv12_8l128" value="111" c:identifier="GST_VIDEO_FORMAT_NV12_8L128" version="1.22" glib:nick="nv12-8l128">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 with 8x128 tiles in linear order.</doc>
</member>
<member name="nv12_10be_8l128" value="112" c:identifier="GST_VIDEO_FORMAT_NV12_10BE_8L128" glib:nick="nv12-10be-8l128">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 10bit big endian with 8x128 tiles in linear order (Since: 1.22)</doc>
<member name="nv12_10be_8l128" value="112" c:identifier="GST_VIDEO_FORMAT_NV12_10BE_8L128" version="1.22" glib:nick="nv12-10be-8l128">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">NV12 10bit big endian with 8x128 tiles in linear order.</doc>
</member>
<member name="nv12_10le40_4l4" value="113" c:identifier="GST_VIDEO_FORMAT_NV12_10LE40_4L4" glib:nick="nv12-10le40-4l4">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">@GST_VIDEO_FORMAT_NV12_10LE40 with 4x4 pixels tiles (5 bytes per tile row) (Since: 1.24)</doc>
<member name="nv12_10le40_4l4" value="113" c:identifier="GST_VIDEO_FORMAT_NV12_10LE40_4L4" version="1.24" glib:nick="nv12-10le40-4l4">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">@GST_VIDEO_FORMAT_NV12_10LE40 with 4x4 pixels tiles (5 bytes
per tile row). This format is produced by Verisilicon/Hantro decoders.</doc>
</member>
<member name="dma_drm" value="114" c:identifier="GST_VIDEO_FORMAT_DMA_DRM" glib:nick="dma-drm">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">DMA DRM special format. It's only used with
memory:DMABuf #GstCapsFeatures, where an extra
parameter (drm-format) is required to define the
image format and its memory layout.</doc>
<member name="dma_drm" value="114" c:identifier="GST_VIDEO_FORMAT_DMA_DRM" version="1.24" glib:nick="dma-drm">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">@GST_VIDEO_FORMAT_DMA_DRM represent the DMA DRM special format. It's
only used with memory:DMABuf #GstCapsFeatures, where an extra
parameter (drm-format) is required to define the image format and
its memory layout.</doc>
</member>
<member name="mt2110t" value="115" c:identifier="GST_VIDEO_FORMAT_MT2110T" glib:nick="mt2110t">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Mediatek 10bit NV12 little endian with 16x32 tiles in linear order, tiled 2 bits (Since: 1.24)</doc>
<member name="mt2110t" value="115" c:identifier="GST_VIDEO_FORMAT_MT2110T" version="1.24" glib:nick="mt2110t">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Mediatek 10bit NV12 little endian with 16x32 tiles in linear order, tile 2
bits.</doc>
</member>
<member name="mt2110r" value="116" c:identifier="GST_VIDEO_FORMAT_MT2110R" glib:nick="mt2110r">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Mediatek 10bit NV12 little endian with 16x32 tiles in linear order, raster 2 bits (Since: 1.24)</doc>
<member name="mt2110r" value="116" c:identifier="GST_VIDEO_FORMAT_MT2110R" version="1.24" glib:nick="mt2110r">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Mediatek 10bit NV12 little endian with 16x32 tiles in linear order, raster
2 bits.</doc>
</member>
<member name="a422" value="117" c:identifier="GST_VIDEO_FORMAT_A422" glib:nick="a422">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 8 bits per channel (Since: 1.24)</doc>
<member name="a422" value="117" c:identifier="GST_VIDEO_FORMAT_A422" version="1.24" glib:nick="a422">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 8 bits per channel</doc>
</member>
<member name="a444" value="118" c:identifier="GST_VIDEO_FORMAT_A444" glib:nick="a444">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 8 bits per channel (Since: 1.24)</doc>
<member name="a444" value="118" c:identifier="GST_VIDEO_FORMAT_A444" version="1.24" glib:nick="a444">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 8 bits per channel</doc>
</member>
<member name="a444_12le" value="119" c:identifier="GST_VIDEO_FORMAT_A444_12LE" glib:nick="a444-12le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 12 bits per channel (Since: 1.24)</doc>
<member name="a444_12le" value="119" c:identifier="GST_VIDEO_FORMAT_A444_12LE" version="1.24" glib:nick="a444-12le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 12 bits per channel</doc>
</member>
<member name="a444_12be" value="120" c:identifier="GST_VIDEO_FORMAT_A444_12BE" glib:nick="a444-12be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 12 bits per channel (Since: 1.24)</doc>
<member name="a444_12be" value="120" c:identifier="GST_VIDEO_FORMAT_A444_12BE" version="1.24" glib:nick="a444-12be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 12 bits per channel</doc>
</member>
<member name="a422_12le" value="121" c:identifier="GST_VIDEO_FORMAT_A422_12LE" glib:nick="a422-12le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 12 bits per channel (Since: 1.24)</doc>
<member name="a422_12le" value="121" c:identifier="GST_VIDEO_FORMAT_A422_12LE" version="1.24" glib:nick="a422-12le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 12 bits per channel</doc>
</member>
<member name="a422_12be" value="122" c:identifier="GST_VIDEO_FORMAT_A422_12BE" glib:nick="a422-12be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 12 bits per channel (Since: 1.24)</doc>
<member name="a422_12be" value="122" c:identifier="GST_VIDEO_FORMAT_A422_12BE" version="1.24" glib:nick="a422-12be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 12 bits per channel</doc>
</member>
<member name="a420_12le" value="123" c:identifier="GST_VIDEO_FORMAT_A420_12LE" glib:nick="a420-12le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:0 YUV, 12 bits per channel (Since: 1.24)</doc>
<member name="a420_12le" value="123" c:identifier="GST_VIDEO_FORMAT_A420_12LE" version="1.24" glib:nick="a420-12le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:0 YUV, 12 bits per channel</doc>
</member>
<member name="a420_12be" value="124" c:identifier="GST_VIDEO_FORMAT_A420_12BE" glib:nick="a420-12be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:0 YUV, 12 bits per channel (Since: 1.24)</doc>
<member name="a420_12be" value="124" c:identifier="GST_VIDEO_FORMAT_A420_12BE" version="1.24" glib:nick="a420-12be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:0 YUV, 12 bits per channel</doc>
</member>
<member name="a444_16le" value="125" c:identifier="GST_VIDEO_FORMAT_A444_16LE" glib:nick="a444-16le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 16 bits per channel (Since: 1.24)</doc>
<member name="a444_16le" value="125" c:identifier="GST_VIDEO_FORMAT_A444_16LE" version="1.24" glib:nick="a444-16le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 16 bits per channel</doc>
</member>
<member name="a444_16be" value="126" c:identifier="GST_VIDEO_FORMAT_A444_16BE" glib:nick="a444-16be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 16 bits per channel (Since: 1.24)</doc>
<member name="a444_16be" value="126" c:identifier="GST_VIDEO_FORMAT_A444_16BE" version="1.24" glib:nick="a444-16be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4:4 YUV, 16 bits per channel</doc>
</member>
<member name="a422_16le" value="127" c:identifier="GST_VIDEO_FORMAT_A422_16LE" glib:nick="a422-16le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 16 bits per channel (Since: 1.24)</doc>
<member name="a422_16le" value="127" c:identifier="GST_VIDEO_FORMAT_A422_16LE" version="1.24" glib:nick="a422-16le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 16 bits per channel</doc>
</member>
<member name="a422_16be" value="128" c:identifier="GST_VIDEO_FORMAT_A422_16BE" glib:nick="a422-16be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 16 bits per channel (Since: 1.24)</doc>
<member name="a422_16be" value="128" c:identifier="GST_VIDEO_FORMAT_A422_16BE" version="1.24" glib:nick="a422-16be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:2 YUV, 16 bits per channel</doc>
</member>
<member name="a420_16le" value="129" c:identifier="GST_VIDEO_FORMAT_A420_16LE" glib:nick="a420-16le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:0 YUV, 16 bits per channel (Since: 1.24)</doc>
<member name="a420_16le" value="129" c:identifier="GST_VIDEO_FORMAT_A420_16LE" version="1.24" glib:nick="a420-16le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:0 YUV, 16 bits per channel</doc>
</member>
<member name="a420_16be" value="130" c:identifier="GST_VIDEO_FORMAT_A420_16BE" glib:nick="a420-16be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:0 YUV, 16 bits per channel (Since: 1.24)</doc>
<member name="a420_16be" value="130" c:identifier="GST_VIDEO_FORMAT_A420_16BE" version="1.24" glib:nick="a420-16be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:2:0 YUV, 16 bits per channel</doc>
</member>
<member name="gbr_16le" value="131" c:identifier="GST_VIDEO_FORMAT_GBR_16LE" glib:nick="gbr-16le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4 RGB, 16 bits per channel (Since: 1.24)</doc>
<member name="gbr_16le" value="131" c:identifier="GST_VIDEO_FORMAT_GBR_16LE" version="1.24" glib:nick="gbr-16le">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4 RGB, 16 bits per channel</doc>
</member>
<member name="gbr_16be" value="132" c:identifier="GST_VIDEO_FORMAT_GBR_16BE" glib:nick="gbr-16be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4 RGB, 16 bits per channel (Since: 1.24)</doc>
<member name="gbr_16be" value="132" c:identifier="GST_VIDEO_FORMAT_GBR_16BE" version="1.24" glib:nick="gbr-16be">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">planar 4:4:4 RGB, 16 bits per channel</doc>
</member>
<function name="from_fourcc" c:identifier="gst_video_format_from_fourcc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">Converts a FOURCC value into the corresponding #GstVideoFormat.
@ -10385,9 +10391,8 @@ the #GstVideoFormat if there is one, or NULL otherwise.</doc>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">The format is tiled, there is tiling information
in the last plane.</doc>
</member>
<member name="subtiles" value="512" c:identifier="GST_VIDEO_FORMAT_FLAG_SUBTILES" glib:nick="subtiles">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">The tile size varies per plane
according to the subsampling. (Since: 1.22)</doc>
<member name="subtiles" value="512" c:identifier="GST_VIDEO_FORMAT_FLAG_SUBTILES" version="1.22" glib:nick="subtiles">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">The tile size varies per plane according to the subsampling.</doc>
</member>
</bitfield>
<record name="VideoFormatInfo" c:type="GstVideoFormatInfo">
@ -10505,8 +10510,8 @@ use tile_info[] array instead.</doc>
use tile_info[] array instead.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="tile_info" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Per-plane tile information</doc>
<field name="tile_info" version="1.22" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Information about the tiles for each of the planes.</doc>
<array zero-terminated="0" fixed-size="4">
<type name="VideoTileInfo" c:type="GstVideoTileInfo"/>
</array>
@ -14662,16 +14667,24 @@ frames will only be rendered in PLAYING state.</doc>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-tile.h">Description of a tile. This structure allow to describe arbitrary tile
dimensions and sizes.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-tile.h"/>
<field name="width" writable="1">
<field name="width" version="1.22" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-tile.h">The width in pixels of a tile. This value can be zero if the number of
pixels per line is not an integer value.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="height" writable="1">
<type name="guint" c:type="guint"/>
</field>
<field name="stride" writable="1">
<field name="stride" version="1.22" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-tile.h">The stride (in bytes) of a tile line. Regardless if the tile have sub-tiles
this stride multiplied by the height should be equal to
#GstVideoTileInfo.size. This value is used to translate into linear stride
when older APIs are being used to expose this format.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="size" writable="1">
<field name="size" version="1.22" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-tile.h">The size in bytes of a tile. This value must be divisible by
#GstVideoTileInfo.stride.</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="padding" readable="0" private="1">
@ -14691,8 +14704,8 @@ dimensions and sizes.</doc>
in memory in Z or flipped Z order. In case of odd rows, the last row
of blocks is arranged in linear order.</doc>
</member>
<member name="linear" value="131072" c:identifier="GST_VIDEO_TILE_MODE_LINEAR" glib:nick="linear">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-tile.h">Tiles are in row order. (Since: 1.18)</doc>
<member name="linear" value="131072" c:identifier="GST_VIDEO_TILE_MODE_LINEAR" version="1.18" glib:nick="linear">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-tile.h">Tiles are in row order.</doc>
</member>
</enumeration>
<enumeration name="VideoTileType" glib:type-name="GstVideoTileType" glib:get-type="gst_video_tile_type_get_type" c:type="GstVideoTileType">
@ -15450,11 +15463,8 @@ non-linear RGB (R'G'B') and linear RGB</doc>
STD-B67 and Rec. ITU-R BT.2100-1 hybrid loggamma (HLG) system
Since: 1.18</doc>
</member>
<member name="bt601" value="16" c:identifier="GST_VIDEO_TRANSFER_BT601" glib:nick="bt601">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-color.h">also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
Functionally the same as the values
GST_VIDEO_TRANSFER_BT709, and GST_VIDEO_TRANSFER_BT2020_10.
Since: 1.18</doc>
<member name="bt601" value="16" c:identifier="GST_VIDEO_TRANSFER_BT601" version="1.18" glib:nick="bt601">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-color.h">also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC</doc>
</member>
<function name="decode" c:identifier="gst_video_transfer_function_decode" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-color.c">Convert @val to its gamma decoded value. This is the inverse operation of
@ -16437,6 +16447,32 @@ in @align</doc>
</parameter>
</parameters>
</function-macro>
<docsection name="gstvideo">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video.c">This library contains some helper functions and includes the
videosink and videofilter base classes.</doc>
</docsection>
<docsection name="gstvideoanc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-anc.c">A collection of objects and methods to assist with handling Ancillary Data
present in Vertical Blanking Interval as well as Closed Caption.</doc>
</docsection>
<docsection name="gstvideochroma">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-chroma.c">The functions gst_video_chroma_from_string() and gst_video_chroma_to_string() convert
between #GstVideoChromaSite and string descriptions.
#GstVideoChromaResample is a utility object for resampling chroma planes
and converting between different chroma sampling sitings.</doc>
</docsection>
<docsection name="gstvideopool">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/gstvideopool.c">Special GstBufferPool subclass for raw video buffers.
Allows configuration of video-specific requirements such as
stride alignments or pixel padding, and can also be configured
to automatically add #GstVideoMeta to the buffers.</doc>
</docsection>
<docsection name="gstvideosei">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-sei.c">A collection of objects and methods to assist with SEI User Data Unregistered
metadata in H.264 and H.265 streams.</doc>
</docsection>
<function name="is_video_overlay_prepare_window_handle_message" c:identifier="gst_is_video_overlay_prepare_window_handle_message">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/videooverlay.c">Convenience function to check if the given message is a
"prepare-window-handle" message from a #GstVideoOverlay.</doc>
@ -19424,5 +19460,14 @@ and "ITU-T H.273 Table 3".
</parameter>
</parameters>
</function>
<docsection name="videoconverter">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-converter.c">This object is used to convert video frames from one format to another.
The object can perform conversion of:
* video format
* video colorspace
* chroma-siting
* video size</doc>
</docsection>
</namespace>
</repository>

View file

@ -2428,7 +2428,8 @@ the error</doc>
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="aspect" writable="1">
<field name="aspect" version="1.24" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkformat.h">image aspect of this format</doc>
<type name="Vulkan.ImageAspectFlags" c:type="VkImageAspectFlags"/>
</field>
</record>
@ -4528,7 +4529,8 @@ called.</doc>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkphysicaldevice.h">number of elements in @queue_family_props</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="queue_family_ops">
<field name="queue_family_ops" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkphysicaldevice.h">vulkan operations allowed per queue family</doc>
<type name="VulkanQueueFamilyOps" c:type="GstVulkanQueueFamilyOps*"/>
</field>
<field name="_reserved" readable="0" private="1">
@ -6065,6 +6067,82 @@ Currently intended for subclasses to update internal state.</doc>
</parameter>
</parameters>
</function>
<docsection name="vkbuffermemory">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkbuffermemory.c">#GstVulkanBufferMemory is a #GstMemory subclass providing support for the
mapping of Vulkan device memory.</doc>
</docsection>
<docsection name="vkbufferpool">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkbufferpool.c">a #GstVulkanBufferPool is an object that allocates buffers with #GstVulkanBufferMemory
A #GstVulkanBufferPool is created with gst_vulkan_buffer_pool_new()
#GstVulkanBufferPool implements the VideoMeta buffer pool option
#GST_BUFFER_POOL_OPTION_VIDEO_META</doc>
</docsection>
<docsection name="vkdescriptorset">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkdescriptorset.c">vulkandescriptorset holds information about a descriptor set.</doc>
</docsection>
<docsection name="vkdevice">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkdevice.c">A #GstVulkanDevice encapsulates a VkDevice</doc>
</docsection>
<docsection name="vkdisplay">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkdisplay.c">A #GstVulkanDisplay represents a connection to a display server on the platform</doc>
</docsection>
<docsection name="vkfence">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfence.c">A #GstVulkanFence encapsulates a VkFence</doc>
</docsection>
<docsection name="vkfullscreenquad">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">A #GstVulkanFullScreenQuad is a helper object for rendering a single input
image to an output #GstBuffer</doc>
</docsection>
<docsection name="vkhandle">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkhandle.c">#GstVulkanHandle holds information about a vulkan handle.</doc>
</docsection>
<docsection name="vkimagebufferpool">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkimagebufferpool.c">a #GstVulkanImageBufferPool is an object that allocates buffers with #GstVulkanImageMemory
A #GstVulkanImageBufferPool is created with gst_vulkan_image_buffer_pool_new()</doc>
</docsection>
<docsection name="vkimagememory">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkimagememory.c">GstVulkanImageMemory is a #GstMemory subclass providing support for the
mapping of Vulkan device memory.</doc>
</docsection>
<docsection name="vkimageview">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkimageview.c">#GstVulkanImageView is a wrapper around a `VkImageView` mostly for
usage across element boundaries with #GstVulkanImageMemory</doc>
</docsection>
<docsection name="vkinstance">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkinstance.c">#GstVulkanInstance encapsulates the necessary information for the toplevel
Vulkan instance object.
If GStreamer is built with debugging support, the default Vulkan API chosen
can be selected with the environment variable
`GST_VULKAN_INSTANCE_API_VERSION=1.0`. Any subsequent setting of the
requested Vulkan API version through the available properties will override
the environment variable.</doc>
</docsection>
<docsection name="vkmemory">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkmemory.c">GstVulkanMemory is a #GstMemory subclass providing support for the mapping of
Vulkan device memory.</doc>
</docsection>
<docsection name="vkphysicaldevice">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkphysicaldevice.c">A #GstVulkanPhysicalDevice encapsulates a VkPhysicalDevice</doc>
</docsection>
<docsection name="vkqueue">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkqueue.c">GstVulkanQueue encapsulates the vulkan command queue.</doc>
</docsection>
<docsection name="vkswapper">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkswapper.c">#GstVulkanSwapper is a helper object for rendering to a surface exposed by
#GstVulkanWindow.</doc>
</docsection>
<docsection name="vktrash">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvktrash.c">#GstVulkanTrash is a helper object for freeing resources after a
#GstVulkanFence is signalled.</doc>
</docsection>
<docsection name="vkwindow">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkwindow.c">GstVulkanWindow represents a window that elements can render into. A window can
either be a user visible window (onscreen) or hidden (offscreen).</doc>
</docsection>
<function name="vulkan_buffer_memory_alloc" c:identifier="gst_vulkan_buffer_memory_alloc" moved-to="VulkanBufferMemory.alloc" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkbuffermemory.c">Allocate a new #GstVulkanBufferMemory.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkbuffermemory.h"/>
@ -6823,5 +6901,15 @@ associated #GstVulkanFence is signalled</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</return-value>
</function>
<docsection name="vulkancommandbuffer">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkcommandbuffer.c">vulkancommandbuffer holds information about a command buffer.</doc>
</docsection>
<docsection name="vulkanhandlepool">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkhandlepool.c">#GstVulkanHandlePool holds a number of handles that are pooled together.</doc>
</docsection>
<docsection name="vulkanvideofilter">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.c">#GstVulkanVideoFilter is a helper base class for retrieving and holding the
#GstVulkanInstance, #GstVulkanDevice and #GstVulkanQueue used by an element.</doc>
</docsection>
</namespace>
</repository>

View file

@ -643,9 +643,11 @@ for more information.</doc>
<member name="internal_failure" value="8" c:identifier="GST_WEBRTC_ERROR_INTERNAL_FAILURE" glib:nick="internal-failure">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/webrtc_fwd.h">GStreamer-specific failure, not matching any other value from the specification</doc>
</member>
<member name="invalid_modification" value="9" c:identifier="GST_WEBRTC_ERROR_INVALID_MODIFICATION" glib:nick="invalid-modification">
<member name="invalid_modification" value="9" c:identifier="GST_WEBRTC_ERROR_INVALID_MODIFICATION" version="1.22" glib:nick="invalid-modification">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/webrtc_fwd.h">invalid-modification (part of WebIDL specification)</doc>
</member>
<member name="type_error" value="10" c:identifier="GST_WEBRTC_ERROR_TYPE_ERROR" glib:nick="type-error">
<member name="type_error" value="10" c:identifier="GST_WEBRTC_ERROR_TYPE_ERROR" version="1.22" glib:nick="type-error">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/webrtc_fwd.h">type-error (maps to JavaScript TypeError)</doc>
</member>
<function name="quark" c:identifier="gst_webrtc_error_quark" version="1.20">
<return-value transfer-ownership="none">
@ -2658,6 +2660,27 @@ answer.</doc>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/webrtc_fwd.h">certificate</doc>
</member>
</enumeration>
<docsection name="gstwebrtc-datachannel">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/datachannel.c">&lt;https://www.w3.org/TR/webrtc/#rtcdatachannel&gt;</doc>
</docsection>
<docsection name="gstwebrtc-dtlstransport">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/dtlstransport.c">&lt;https://www.w3.org/TR/webrtc/#rtcdtlstransport&gt;</doc>
</docsection>
<docsection name="gstwebrtc-icetransport">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/icetransport.c">See the [specification](https://www.w3.org/TR/webrtc/#rtcicetransport)</doc>
</docsection>
<docsection name="gstwebrtc-receiver">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/rtpreceiver.c">&lt;https://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface&gt;</doc>
</docsection>
<docsection name="gstwebrtc-sender">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/rtpsender.c">&lt;https://www.w3.org/TR/webrtc/#rtcrtpsender-interface&gt;</doc>
</docsection>
<docsection name="gstwebrtc-sessiondescription">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/rtcsessiondescription.c">&lt;https://www.w3.org/TR/webrtc/#rtcsessiondescription-class&gt;</doc>
</docsection>
<docsection name="gstwebrtc-transceiver">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/rtptransceiver.c">&lt;https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface&gt;</doc>
</docsection>
<function name="webrtc_error_quark" c:identifier="gst_webrtc_error_quark" moved-to="WebRTCError.quark" version="1.20">
<return-value transfer-ownership="none">
<type name="GLib.Quark" c:type="GQuark"/>

View file

@ -30,6 +30,7 @@ KNOWN_NOT_LEAKY = r'^check.gst-devtools.*|^check.gstreamer.*|^check-gst-plugins-
LONG_VALGRIND_TESTS = [
(r'check.[a-z-]*.generic_states.test_state_changes_down_seq', 'enough to run one of the sequences'),
(r'check.[a-z-]*.generic_states.test_state_changes_up_seq', 'enough to run one of the sequences',),
(r'check.[a-z-]*.generic_states.test_state_changes_up_and_down_seq', 'enough to run the sequences'),
(r'check.gstreamer.gst_gstelement.test_foreach_pad$', '48s'),
(r'check.gstreamer.gst_gstinfo.info_post_gst_init_category_registration$', '21s'),
(r'check.gstreamer.gst_gstsystemclock.test_resolution$', '60s'),
@ -39,6 +40,10 @@ LONG_VALGRIND_TESTS = [
(r'check.gstreamer.pipelines_simple_launch_lines.test_2_elements$', '58s'),
(r'check.gstreamer.pipelines_stress.test_stress$', '54s'),
(r'check.gstreamer.pipelines_stress.test_stress_preroll$', '27s'),
(r'check.gst-plugins-base.elements_appsrc.test_appsrc_limits', '53.37s'),
(r'check.gst-plugins-base.elements_appsrc.test_appsrc_send_event_before_buffer', '49.25s'),
(r'check.gst-plugins-base.elements_appsrc.test_appsrc_send_event_before_sample', '51.39s'),
(r'check.gst-plugins-base.elements_appsrc.test_appsrc_send_event_between_caps_buffer', '56.13s'),
(r'check.gst-plugins-base.elements_appsrc.test_appsrc_block_deadlock$', '265.595s'),
(r'check.gst-plugins-base.elements_audioresample.test_fft$', '91.247s'),
(r'check.gst-plugins-base.elements_audioresample.test_timestamp_drift$', '141.784s'),
@ -112,9 +117,11 @@ VALGRIND_BLACKLIST = [
(r'check.gst-editing-services.pythontests', 'Need to figure out how to introduce python suppressions'),
(r'check.gst-editing-services.check_keyframes_in_compositor_two_sources', 'Valgrind exit with an exitcode 20 but shows no issue: https://gitlab.freedesktop.org/thiblahute/gst-editing-services/-/jobs/4079972'),
(r'check.gst-plugins-good.elements_splitmuxsrc.test_splitmuxsrc_sparse_streams', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/739'),
(r'check.gst-plugins-good.elements_udpsrc.test_udpsrc_empty_packet', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/740')
]
(r'check.gst-plugins-good.elements_udpsrc.test_udpsrc_empty_packet', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/740'),
(r'check.gst-plugins-good.elements_souphttpsrc2.test_icy_stream', 'flaky in valgrind, leaks in CI but not locally'),
(r'check.gst-plugins-bad.elements_svthevc*', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3011'),
]
BLACKLIST = [
(r'check.gstreamer.gst_gstsystemclock.test_stress_cleanup_unschedule', 'flaky under high server load'),
@ -125,6 +132,7 @@ BLACKLIST = [
(r'check.gst-plugins-base.elements_multisocketsink.test_sending_buffers_with_9_gstmemories$', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/779'),
(r'check.gst-plugins-base.elements_multisocketsink.test_client_next_keyframe$', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/779'),
(r'check.gst-plugins-base.elements_multisocketsink.test_add_client$', ''),
(r'check.gst-plugins-base.elements_multisocketsink.test_burst_client_bytes$', ''),
(r'check.gst-plugins-base.libs_gstglcolorconvert.test_reorder_buffer$', '?'),
(r'check.gst-plugins-base.elements_audiotestsrc.test_layout$', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/781'),
(r'check.gst-plugins-good.elements_souphttpsrc.test_icy_stream$', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/782'),
@ -161,8 +169,14 @@ BLACKLIST = [
(r'check.gst-editing-services.nle_simple.test_one_bin_after_other$', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/802'),
(r'check.gstreamer-vaapi.*$', 'only run the tests explicitly'),
(r'check.gst-rtsp-server.gst_rtspserver.test_multiple_transports', 'https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/767'),
(r'check.gst-plugins-bad.elements_vkcolorconvert.test_vulkan_color_convert_rgba_reorder$', 'Mesa in the CI image is older, will start passing once we update to llvm16 and mesa 23.1'),
(r'check.gst-plugins-bad.libs_vkformat.test_format_from_video_info_2$', 'Mesa in the CI image is older, will start passing once we update to llvm16 and mesa 23.1'),
(r'check.gst-plugins-bad.libs_vkimagebufferpool.test_image$', 'Mesa in the CI image is older, will start passing once we update to llvm16 and mesa 23.1'),
(r'check.gst-plugins-bad.libs_vkwindow.test_window_new$', 'Mesa in the CI image is older, will start passing once we update to llvm16 and mesa 23.1'),
(r'check.gst-plugins-good.elements_souphttpsrc2.test_icy_stream', 'flaky in valgrind, leaks in CI but not locally'),
]
KNOWN_ISSUES = {
"https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/773": {
"tests": [

View file

@ -1460,7 +1460,7 @@
"presence": "always"
},
"src": {
"caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\n",
"caps": "audio/x-raw:\n format: S16LE\n layout: interleaved\naudio/x-raw:\n format: S16LE\n layout: non-interleaved\n",
"direction": "src",
"presence": "always"
}
@ -2776,6 +2776,7 @@
"description": "libav argo decoder",
"hierarchy": [
"avdec_argo",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -2791,7 +2792,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -5006,6 +5007,7 @@
"description": "libav cdtoons decoder",
"hierarchy": [
"avdec_cdtoons",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -5021,7 +5023,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -5833,6 +5835,7 @@
"description": "libav cri decoder",
"hierarchy": [
"avdec_cri",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -5848,7 +5851,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -11581,6 +11584,7 @@
"description": "libav imm5 decoder",
"hierarchy": [
"avdec_imm5",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -11596,7 +11600,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -12176,6 +12180,7 @@
"description": "libav ipu decoder",
"hierarchy": [
"avdec_ipu",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -12191,7 +12196,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -13857,6 +13862,7 @@
"description": "libav mobiclip decoder",
"hierarchy": [
"avdec_mobiclip",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -13872,7 +13878,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -15114,6 +15120,7 @@
"description": "libav msp2 decoder",
"hierarchy": [
"avdec_msp2",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -15129,7 +15136,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -15769,6 +15776,7 @@
"description": "libav mv30 decoder",
"hierarchy": [
"avdec_mv30",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -15784,7 +15792,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -16038,6 +16046,7 @@
"description": "libav mvdv decoder",
"hierarchy": [
"avdec_mvdv",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -16053,7 +16062,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -16127,6 +16136,7 @@
"description": "libav mvha decoder",
"hierarchy": [
"avdec_mvha",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -16142,7 +16152,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -16424,6 +16434,7 @@
"description": "libav notchlc decoder",
"hierarchy": [
"avdec_notchlc",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -16439,7 +16450,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -17156,6 +17167,7 @@
"description": "libav pfm decoder",
"hierarchy": [
"avdec_pfm",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -17171,7 +17183,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -17425,6 +17437,7 @@
"description": "libav pgx decoder",
"hierarchy": [
"avdec_pgx",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -17440,7 +17453,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -17514,6 +17527,7 @@
"description": "libav photocd decoder",
"hierarchy": [
"avdec_photocd",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -17529,7 +17543,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -20225,6 +20239,7 @@
"description": "libav sga decoder",
"hierarchy": [
"avdec_sga",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -20240,7 +20255,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -20638,6 +20653,7 @@
"description": "libav simbiosis_imx decoder",
"hierarchy": [
"avdec_simbiosis_imx",
"GstFFMpegVidDec",
"GstVideoDecoder",
"GstElement",
"GstObject",
@ -20653,7 +20669,7 @@
"presence": "always"
},
"src": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n\nvideo/x-raw(format:Interlaced):\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n interlace-mode: alternate\n",
"direction": "src",
"presence": "always"
}
@ -31654,7 +31670,7 @@
"long-name": "libav ATSC A/52A (AC-3) encoder",
"pad-templates": {
"sink": {
"caps": "audio/x-raw:\n channels: 1\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000103\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000007\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000c03\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000033\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000107\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c07\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000037\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n channel-mask: 0x000000000000000c\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x000000000000000b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000010b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000000f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c0b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000003b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000010f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x0000000000000c0f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x000000000000003f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S16LE\n layout: interleaved\n",
"caps": "audio/x-raw:\n channels: 1\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000103\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x0000000000000007\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000c03\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000033\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x0000000000000107\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c07\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000037\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 2\n channel-mask: 0x000000000000000c\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 3\n channel-mask: 0x000000000000000b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000010b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 4\n channel-mask: 0x000000000000000f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x0000000000000c0b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000003b\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 5\n channel-mask: 0x000000000000010f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x0000000000000c0f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\naudio/x-raw:\n channels: 6\n channel-mask: 0x000000000000003f\n rate: { (int)48000, (int)44100, (int)32000 }\n format: S32LE\n layout: interleaved\n",
"direction": "sink",
"presence": "always"
},
@ -74496,7 +74512,7 @@
"long-name": "libav JPEG 2000 encoder",
"pad-templates": {
"sink": {
"caps": "video/x-raw:\n format: { RGB, Y444, GRAY8, I420, Y42B, YUV9, Y41B, RGB8P }\n",
"caps": "video/x-raw:\n format: { RGB, Y444, GRAY8, I420, Y42B, YUV9, Y41B, RGB8P, GRAY16_LE }\n",
"direction": "sink",
"presence": "always"
},
@ -139918,7 +139934,7 @@
"presence": "always"
},
"video_%%u": {
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n",
"caps": "video/x-raw:\n format: { I420, YUY2, RGB, BGR, Y42B, Y444, YUV9, Y41B, GRAY8, RGB8P, I420, Y42B, Y444, UYVY, NV12, NV21, ARGB, RGBA, ABGR, BGRA, GRAY16_BE, GRAY16_LE, A420, RGB16, RGB15, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, GBRA, xRGB, RGBx, xBGR, BGRx, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GBR_12BE, GBR_12LE, P010_10LE, GBRA_12BE, GBRA_12LE, GBRA_10BE, GBRA_10LE }\n",
"direction": "sink",
"presence": "request"
}

View file

@ -33792,6 +33792,258 @@
},
"rank": "none"
},
"ladspa-ladspa-rubberband-so-rubberband-pitchshifter-mono": {
"author": "Breakfast Quay, Juan Manuel Borges Caño <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com>",
"description": "Rubber Band Mono Pitch Shifter",
"hierarchy": [
"ladspa-ladspa-rubberband-so-rubberband-pitchshifter-mono",
"GstLADSPAFilter",
"GstAudioFilter",
"GstBaseTransform",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"klass": "Filter/Effect/Audio/LADSPA/Frequency/Pitch shifters",
"pad-templates": {
"sink": {
"caps": "audio/x-raw:\n format: F32LE\n channels: 1\n rate: [ 1, 2147483647 ]\n layout: interleaved\n",
"direction": "sink",
"presence": "always"
},
"src": {
"caps": "audio/x-raw:\n format: F32LE\n channels: 1\n rate: [ 1, 2147483647 ]\n layout: interleaved\n",
"direction": "src",
"presence": "always"
}
},
"properties": {
"cents": {
"blurb": "Cents",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "100",
"min": "-100",
"mutable": "null",
"readable": true,
"type": "gfloat",
"writable": true
},
"crispness": {
"blurb": "Crispness",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "3",
"max": "3",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"formant-preserving": {
"blurb": "Formant Preserving",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "false",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"latency": {
"blurb": "latency",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "3.40282e+38",
"min": "-3.40282e+38",
"mutable": "null",
"readable": true,
"type": "gfloat",
"writable": false
},
"octaves": {
"blurb": "Octaves",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "2",
"min": "-2",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"semitones": {
"blurb": "Semitones",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "12",
"min": "-12",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"wet-dry-mix": {
"blurb": "Wet-Dry Mix",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gfloat",
"writable": true
}
},
"rank": "none"
},
"ladspa-ladspa-rubberband-so-rubberband-pitchshifter-stereo": {
"author": "Breakfast Quay, Juan Manuel Borges Caño <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com>",
"description": "Rubber Band Stereo Pitch Shifter",
"hierarchy": [
"ladspa-ladspa-rubberband-so-rubberband-pitchshifter-stereo",
"GstLADSPAFilter",
"GstAudioFilter",
"GstBaseTransform",
"GstElement",
"GstObject",
"GInitiallyUnowned",
"GObject"
],
"klass": "Filter/Effect/Audio/LADSPA/Frequency/Pitch shifters",
"pad-templates": {
"sink": {
"caps": "audio/x-raw:\n format: F32LE\n channels: 2\n rate: [ 1, 2147483647 ]\n layout: interleaved\n",
"direction": "sink",
"presence": "always"
},
"src": {
"caps": "audio/x-raw:\n format: F32LE\n channels: 2\n rate: [ 1, 2147483647 ]\n layout: interleaved\n",
"direction": "src",
"presence": "always"
}
},
"properties": {
"cents": {
"blurb": "Cents",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "100",
"min": "-100",
"mutable": "null",
"readable": true,
"type": "gfloat",
"writable": true
},
"crispness": {
"blurb": "Crispness",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "3",
"max": "3",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"formant-preserving": {
"blurb": "Formant Preserving",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "false",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"latency": {
"blurb": "latency",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "3.40282e+38",
"min": "-3.40282e+38",
"mutable": "null",
"readable": true,
"type": "gfloat",
"writable": false
},
"octaves": {
"blurb": "Octaves",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "2",
"min": "-2",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"semitones": {
"blurb": "Semitones",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "12",
"min": "-12",
"mutable": "null",
"readable": true,
"type": "gint",
"writable": true
},
"wet-dry-mix": {
"blurb": "Wet-Dry Mix",
"conditionally-available": false,
"construct": true,
"construct-only": false,
"controllable": true,
"default": "0",
"max": "1",
"min": "0",
"mutable": "null",
"readable": true,
"type": "gfloat",
"writable": true
}
},
"rank": "none"
},
"ladspa-sine-so-sine-faaa": {
"author": "Richard Furse (LADSPA example plugins), Juan Manuel Borges Caño <juanmabcmail@gmail.com>, Andy Wingo <wingo at pobox.com>, Steve Baker <stevebaker_org@yahoo.co.uk>, Erik Walthinsen <omega@cse.ogi.edu>, Stefan Sauer <ensonic@users.sf.net>, Wim Taymans <wim@fluendo.com>",
"description": "Sine Oscillator (Freq:audio, Amp:audio)",
@ -224786,7 +225038,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
"default": "/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml",
"default": "/usr/share/opencv4/haarcascades/haarcascade_frontalface_default.xml",
"mutable": "null",
"readable": true,
"type": "gchararray",
@ -224855,7 +225107,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
"default": "/usr/share/OpenCV/haarcascades/haarcascade_mcs_eyepair_small.xml",
"default": "/usr/share/opencv4/haarcascades/haarcascade_mcs_eyepair_small.xml",
"mutable": "null",
"readable": true,
"type": "gchararray",
@ -224935,7 +225187,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
"default": "/usr/share/OpenCV/haarcascades/haarcascade_mcs_mouth.xml",
"default": "/usr/share/opencv4/haarcascades/haarcascade_mcs_mouth.xml",
"mutable": "null",
"readable": true,
"type": "gchararray",
@ -224947,7 +225199,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
"default": "/usr/share/OpenCV/haarcascades/haarcascade_mcs_nose.xml",
"default": "/usr/share/opencv4/haarcascades/haarcascade_mcs_nose.xml",
"mutable": "null",
"readable": true,
"type": "gchararray",
@ -224959,7 +225211,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
"default": "/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml",
"default": "/usr/share/opencv4/haarcascades/haarcascade_frontalface_default.xml",
"mutable": "null",
"readable": true,
"type": "gchararray",
@ -233304,6 +233556,30 @@
}
},
"properties": {
"authentication": {
"blurb": "Authenticate a connection",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"auto-reconnect": {
"blurb": "Automatically reconnect when connection fails",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"latency": {
"blurb": "Minimum latency (milliseconds)",
"conditionally-available": false,
@ -233386,7 +233662,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
"default": "-1",
"default": "1000",
"max": "2147483647",
"min": "-1",
"mutable": "ready",
@ -233459,6 +233735,34 @@
"return-type": "void",
"when": "last"
},
"caller-connecting": {
"args": [
{
"name": "arg0",
"type": "GSocketAddress"
},
{
"name": "arg1",
"type": "gchararray"
}
],
"return-type": "gboolean",
"when": "last"
},
"caller-rejected": {
"args": [
{
"name": "arg0",
"type": "GSocketAddress"
},
{
"name": "arg1",
"type": "gchararray"
}
],
"return-type": "void",
"when": "last"
},
"caller-removed": {
"args": [
{
@ -233500,6 +233804,42 @@
}
},
"properties": {
"authentication": {
"blurb": "Authenticate a connection",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"auto-reconnect": {
"blurb": "Automatically reconnect when connection fails",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "true",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"keep-listening": {
"blurb": "Toggle keep-listening for connection reuse",
"conditionally-available": false,
"construct": false,
"construct-only": false,
"controllable": false,
"default": "false",
"mutable": "null",
"readable": true,
"type": "gboolean",
"writable": true
},
"latency": {
"blurb": "Minimum latency (milliseconds)",
"conditionally-available": false,
@ -233582,7 +233922,7 @@
"construct": false,
"construct-only": false,
"controllable": false,
"default": "-1",
"default": "1000",
"max": "2147483647",
"min": "-1",
"mutable": "ready",
@ -233655,6 +233995,34 @@
"return-type": "void",
"when": "last"
},
"caller-connecting": {
"args": [
{
"name": "arg0",
"type": "GSocketAddress"
},
{
"name": "arg1",
"type": "gchararray"
}
],
"return-type": "gboolean",
"when": "last"
},
"caller-rejected": {
"args": [
{
"name": "arg0",
"type": "GSocketAddress"
},
{
"name": "arg1",
"type": "gchararray"
}
],
"return-type": "void",
"when": "last"
},
"caller-removed": {
"args": [
{