# 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: '2022-09-02.0'
+ FEDORA_TAG: '2022-09-14.0'
INDENT_TAG: '2022-03-07.1'
WINDOWS_TAG: "2022-09-02.0"
# ---- Integration ----- #
.documentation:
- image: $FEDORA_DOCS_IMAGE
- extends:
- - '.build_ccache_vars'
+ extends: '.build fedora x86_64'
variables:
MESON_ARGS: *simple_build
- MESON_BUILDTYPE_ARGS: "-Ddoc=enabled -Drs=enabled"
+ MESON_BUILDTYPE_ARGS: "-Ddoc=enabled -Drs=enabled -Dgst-docs:fatal_warnings=true"
# Disable werror for the docs build, we don't need it
MESON_GST_WERROR: ''
CI_ARTIFACTS_URL: "${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/"
script:
- # FIXME: should rebuild the image with newer versions!
- - pip3 install --upgrade hotdoc
- - pip3 install --upgrade meson
- - *build
+ - export PATH=/usr/local/cargo/bin/:/usr/local/bin/:$PATH
+ - export RUSTUP_HOME='/usr/local/rustup'
+
+ - ci/scripts/handle-subprojects-cache.py subprojects/
+ - echo $MESON_ARGS
+ - meson build/ $MESON_ARGS
+ - ccache --show-stats
+
- ./gst-env.py ninja -C build/ plugins_doc_caches
# Ignore modifications to wrap files made by meson
- git checkout subprojects/*.wrap
- ./ci/scripts/check-documentation-diff.py
- - ./gst-env.py hotdoc run --conf-file=build/subprojects/gst-docs/GStreamer-doc.json --fatal-warnings
+
+ - ./gst-env.py ninja -C build subprojects/gst-docs/GStreamer-doc
- mv build/subprojects/gst-docs/GStreamer-doc/html documentation/
artifacts:
stage: integrate
extends:
- '.documentation'
- needs: []
+ needs:
+ - "fedora amd64 docker"
rules:
- if: '$CI_PROJECT_NAMESPACE == "gstreamer" && $CI_COMMIT_BRANCH == "main"'
- '.documentation'
stage: build
needs:
- - "trigger"
+ - "fedora amd64 docker"
rules:
# Never run post merge, we have the `documentation` always running for that
- if: '$CI_PROJECT_NAMESPACE == "gstreamer" && $CI_COMMIT_BRANCH == $GST_UPSTREAM_BRANCH'
# We need them to cleanly build our doc.
sed -i "s/tsflags=nodocs//g" /etc/dnf/dnf.conf
-dnf install -y git-core ninja-build dnf-plugins-core python3-pip
+dnf install -y git-core dnf-plugins-core python3-pip
# Configure git for various usage
git config --global user.email "gstreamer@gstreamer.net"
glslc \
gtk3 \
gtk3-devel \
+ gtk4 \
+ gtk4-devel \
gtest \
gtest-devel \
graphene \
python3-gstreamer1
dnf remove -y meson
-pip3 install meson==0.60.3 hotdoc python-gitlab
+# 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==0.60.3 hotdoc python-gitlab ninja tomli
# Remove gst-devel packages installed by builddep above
# 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
+dnf download glib2-doc gdk-pixbuf2-devel*x86_64* gtk3-devel-docs gtk4-devel-docs
rpm -i --reinstall *.rpm
rm -f *.rpm
# Install Rust
-RUSTUP_VERSION=1.24.3
-RUST_VERSION=1.55.0
+RUSTUP_VERSION=1.25.1
+RUST_VERSION=1.63.0
RUST_ARCH="x86_64-unknown-linux-gnu"
dnf install -y wget
rm rustup-init;
chmod -R a+w $RUSTUP_HOME $CARGO_HOME
+cargo install cargo-c --version 0.9.12+cargo-0.64
rustup --version
cargo --version
rustc --version
"long-name": "libav Avid 1:1 10-bit RGB Packer encoder",
"pad-templates": {
"sink": {
- "caps": "video/x-raw:\n",
+ "caps": "video/x-raw:\n format: GBR_10LE\n",
"direction": "sink",
"presence": "always"
},
"construct": false,
"construct-only": false,
"controllable": false,
- "default": "128000",
+ "default": "6300",
"max": "2147483647",
"min": "0",
"mutable": "null",
"long-name": "libav Apple ProRes encoder",
"pad-templates": {
"sink": {
- "caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE }\n",
+ "caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE, A444_10LE }\n",
"direction": "sink",
"presence": "always"
},
"long-name": "libav Apple ProRes encoder",
"pad-templates": {
"sink": {
- "caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE }\n",
+ "caps": "video/x-raw:\n format: { I422_10LE, Y444_10LE, A444_10LE }\n",
"direction": "sink",
"presence": "always"
},
"long-name": "libav AJA Kona 10-bit RGB Codec encoder",
"pad-templates": {
"sink": {
- "caps": "video/x-raw:\n",
+ "caps": "video/x-raw:\n format: GBR_10LE\n",
"direction": "sink",
"presence": "always"
},
"long-name": "libav Zip Motion Blocks Video encoder",
"pad-templates": {
"sink": {
- "caps": "video/x-raw:\n format: RGB8P\n",
+ "caps": "video/x-raw:\n format: { RGB8P, RGB15, RGB16, BGRx }\n",
"direction": "sink",
"presence": "always"
},
"value": "0x00000010"
},
{
+ "desc": "Drop frames whose parameters differ from first decoded frame",
+ "name": "drop_changed",
+ "value": "0x00000020"
+ },
+ {
"desc": "use loop filter",
"name": "loop",
"value": "0x00000800"
"tracers": {},
"url": "Unknown package origin"
},
+ "qsv": {
+ "description": "Intel Quick Sync Video plugin",
+ "elements": {},
+ "filename": "gstqsv",
+ "license": "LGPL",
+ "other-types": {},
+ "package": "GStreamer Bad Plug-ins",
+ "source": "gst-plugins-bad",
+ "tracers": {},
+ "url": "Unknown package origin"
+ },
"removesilence": {
"description": "Removes silence from an audio stream",
"elements": {
#include "config.h"
#endif
+/**
+ * plugin-qsv:
+ *
+ * Since: 1.22
+ */
+
#include <gst/gst.h>
#include <mfx.h>
#include "gstqsvav1enc.h"
*
* Retrieves a list of the pad templates associated with @element_class. The
* list must not be modified by the calling code.
- * > If you use this function in the #GInstanceInitFunc of an object class
+ * > If you use this function in the GInstanceInitFunc of an object class
* > that has subclasses, make sure to pass the g_class parameter of the
- * > #GInstanceInitFunc here.
+ * > GInstanceInitFunc here.
*
* Returns: (transfer none) (element-type Gst.PadTemplate): the #GList of
* pad templates.
* @name: the name of the #GstPadTemplate to get.
*
* Retrieves a padtemplate from @element_class with the given name.
- * > If you use this function in the #GInstanceInitFunc of an object class
+ * > If you use this function in the GInstanceInitFunc of an object class
* > that has subclasses, make sure to pass the g_class parameter of the
- * > #GInstanceInitFunc here.
+ * > GInstanceInitFunc here.
*
* Returns: (transfer none) (nullable): the #GstPadTemplate with the
* given name, or %NULL if none was found. No unreferencing is