Compare commits

..

10 Commits

Author SHA1 Message Date
Elias Rosendahl
6377ebf568 Add Execution Provider OpenVINO 2025-06-09 12:49:22 +02:00
Santosh Mahto
62731c958c gstanalytics : Add tensor decoder element for yolo detection models
Existing tensor decoder has been bifurcated into two seperate gst
element as:

`yoloodv5tensordecoder`: decodes tensors output(masks) from detection-only
models e.g yolov8s.onnx

`yolsegv8tensordecoder`: decoder tensors output(masks and logits) from
segementation models e.g FastSAM or yolov8s-seg
2025-04-05 13:09:00 +02:00
Daniel Morin
87b56fbf86 tensordecoders: rename element
- yolotensordecoder replaced with yolov8segtensordecoder
2025-04-05 13:09:00 +02:00
Daniel Morin
83d685054b tensordecoders: address MR comments 2025-04-05 13:09:00 +02:00
Daniel Morin
e616f64152 tensordecoders: Remove object locking in properties accessors 2025-04-05 13:09:00 +02:00
Daniel Morin
df08833e27 tensordecoders: add property label-file to exemple 2025-04-05 13:09:00 +02:00
Daniel Morin
01a504c310 tensordecoder: Improve class retrieval
- Optimize the way to retrieve class with maximum confidence. Avoir multiple
  pass.
- Add support for label files
2025-04-05 13:09:00 +02:00
Santosh Mahto
62eeb7e008 gst-analytics : Adapt and Rename fastsamtensordecoder to yolo based.
YOLOv8 model have same tensor output format as FastSAM, so for better
generalization rename fastsamtensordecoder to yolotensordecoder. This
also requires code adaptation to support Yolo based model.
2025-04-05 13:09:00 +02:00
Olivier Crête
244dd01b22 fastsamtensordecoder: Set mask resolution based on model output 2025-04-05 13:09:00 +02:00
Daniel Morin
b7f964929c fastsamtensordecoder: Add FastSAM tensor decoder
Co-authored-by: Vineet Suryan <vineet.suryan@collabora.com>
2025-04-05 13:08:59 +02:00
633 changed files with 23363 additions and 42814 deletions

View File

@ -1,35 +1,4 @@
{
"name": "GStreamer Dev Toolbox",
"image": "registry.freedesktop.org/gstreamer/gstreamer/amd64/fedora:gst-toolbox-main",
"containerUser": "containeruser",
"remoteUser": "containeruser",
"postCreateCommand": ["python3", "${containerWorkspaceFolder}/ci/scripts/handle-subprojects-cache.py" ,"--cache-dir", "/subprojects", "subprojects/"],
"privileged": false,
"capAdd": [ "SYS_PTRACE" ],
"customizations": {
"vscode": {
"settings": {
"files.watcherExclude": {
"**/target/**": true
},
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff"
}
},
"extensions": [
"charliermarsh.ruff",
"GitLab.gitlab-workflow",
"mesonbuild.mesonbuild",
"ms-python.mypy-type-checker",
"ms-python.pylint",
"ms-python.python",
"ms-vscode.cpptools",
"redhat.vscode-xml",
"redhat.vscode-yaml",
"rust-lang.rust-analyzer",
"tamasfe.even-better-toml",
"vadimcn.vscode-lldb"
]
}
}
"name": "FT-Driverless Dev",
"image": "git.fasttube.de/ft-driverless/ft_as:gstreamer-plugin-bad"
}

View File

@ -72,13 +72,6 @@ variables:
-Dgstreamer-sharp:werror=false
-Ddoc=disabled
# Our gitlab instance and runner are using a proxy and have
# trouble with the normal fetch. git itself handles the proxy
# more reliably.
#
# https://doc.rust-lang.org/cargo/reference/config.html#netgit-fetch-with-cli
CARGO_NET_GIT_FETCH_WITH_CLI: true
FF_TIMESTAMPS: true
# Can set this as part of a schedule pipeline to test the gtk4 build if desired
@ -145,7 +138,7 @@ trigger:
FDO_DISTRIBUTION_VERSION: '40'
FDO_REPO_SUFFIX: "$FEDORA_AMD64_SUFFIX"
FDO_DISTRIBUTION_TAG: "$FEDORA_TAG-$GST_UPSTREAM_BRANCH"
FDO_DISTRIBUTION_EXEC: 'bash ci/docker/fedora/prepare.sh'
FDO_DISTRIBUTION_EXEC: 'GIT_BRANCH=$CI_COMMIT_REF_NAME GIT_URL=$CI_REPOSITORY_URL bash ci/docker/fedora/prepare.sh'
.fedora fluster image:
variables:
@ -199,7 +192,7 @@ fedora amd64 toolbox:
FDO_DISTRIBUTION_VERSION: '12'
FDO_REPO_SUFFIX: "$DEBIAN_AMD64_SUFFIX"
FDO_DISTRIBUTION_TAG: "$DEBIAN_TAG-$GST_UPSTREAM_BRANCH"
FDO_DISTRIBUTION_EXEC: 'bash ci/docker/debian/prepare.sh'
FDO_DISTRIBUTION_EXEC: 'GIT_BRANCH=$CI_COMMIT_REF_NAME GIT_URL=$CI_REPOSITORY_URL bash ci/docker/debian/prepare.sh'
debian amd64 docker:
extends:
@ -265,7 +258,7 @@ windows amd64 docker:
FDO_BASE_IMAGE: '$CI_REGISTRY_IMAGE/$FDO_REPO_SUFFIX:$FEDORA_TAG-$GST_UPSTREAM_BRANCH'
FDO_DISTRIBUTION_TAG: "abi-check-$ABI_CHECK_TAG-$GST_UPSTREAM_BRANCH"
FDO_DISTRIBUTION_PACKAGES: 'libabigail'
FDO_DISTRIBUTION_EXEC: 'bash ci/docker/abi-check/prepare.sh'
FDO_DISTRIBUTION_EXEC: 'GIT_BRANCH=$CI_COMMIT_REF_NAME GIT_URL=$CI_REPOSITORY_URL bash ci/docker/abi-check/prepare.sh'
ABI_CHECK_CACHE: '/abi-check-cache'
abi-check docker:
@ -554,9 +547,6 @@ build vs2022 amd64:
variables:
# FIXME: https://github.com/mesonbuild/meson/pull/11007
PKG_CONFIG: ${CI_PROJECT_DIR}/subprojects/win-pkgconfig/pkg-config.exe
# Work around Meson issues if this env var contains characters that
# cannot be represented in the active code page (e.g. CP1252)
CI_COMMIT_AUTHOR: null
build vs2022 amd64 full-static:
extends: ".build windows"
@ -573,9 +563,6 @@ build vs2022 amd64 full-static:
-Dlibav=disabled
-Ddoc=disabled
-Dgst-full-target-type=static_library
# Work around Meson issues if this env var contains characters that
# cannot be represented in the active code page (e.g. CP1252)
CI_COMMIT_AUTHOR: null
.build windows cross:
extends: '.build windows'

View File

@ -5,12 +5,12 @@ 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: '2025-05-23.0'
FEDORA_TAG: '2025-03-13.0'
DEBIAN_TAG: '2025-05-23.0'
DEBIAN_TAG: '2025-02-23.0'
CHECKS_TAG: '2025-02-04.0'
ABI_CHECK_TAG: '2025-04-17.0'
ABI_CHECK_TAG: '2025-04-01.0'
WINDOWS_TAG: '2025-04-15.0'
WINDOWS_TAG: '2025-02-23.0'

View File

@ -1,7 +1,6 @@
subprojects/gst-plugins-bad/ext/nvcomp
subprojects/gst-plugins-bad/ext/nvdswrapper
subprojects/gst-plugins-bad/ext/qt6d3d11
subprojects/gst-plugins-bad/ext/wpe2
subprojects/gst-plugins-bad/gst-libs/gst/cuda
subprojects/gst-plugins-bad/gst-libs/gst/d3d11
subprojects/gst-plugins-bad/gst-libs/gst/d3d12

View File

@ -1,10 +1,3 @@
# Notes:
# - Python commands must be prefixed with `python` because pre-commit refuses to
# special-case shebangs on Windows where `python3` does not commonly exists.
# Luckily, the `python` command exists in the virtualenv created by pre-commit
# on all platforms. https://github.com/pre-commit/pre-commit/issues/3415,
# https://github.com/pre-commit/pre-commit/issues/3468
fail_fast: false
repos:
- repo: https://github.com/jorisroovers/gitlint
@ -23,7 +16,7 @@ repos:
- id: gst-indent
name: gst-indent
language: python
entry: python ./scripts/gst-indent-all.py
entry: ./scripts/gst-indent-all.py
pass_filenames: false
types_or: ["c", "c++"]
additional_dependencies: ["gst-indent==1.0.0"]
@ -37,6 +30,6 @@ repos:
- id: doc-checks
name: doc-checks
language: python
entry: python ./scripts/git-hooks/pre-commit-python.hook
entry: ./scripts/git-hooks/pre-commit-python.hook
pass_filenames: false
additional_dependencies: ["autopep8==2.3.2", "pycodestyle==2.12.1"]

View File

@ -33,8 +33,8 @@ python3 -m pip install pre-commit==3.6.0
python3 -m pip install gitlint
# Install Rust
RUSTUP_VERSION=1.28.1
RUST_VERSION=1.86.0
RUSTUP_VERSION=1.27.1
RUST_VERSION=1.85.0
RUST_ARCH="x86_64-unknown-linux-gnu"
RUSTUP_URL=https://static.rust-lang.org/rustup/archive/$RUSTUP_VERSION/$RUST_ARCH/rustup-init
@ -49,7 +49,7 @@ chmod +x rustup-init;
rm rustup-init;
chmod -R a+w $RUSTUP_HOME $CARGO_HOME
cargo install cargo-c --version 0.10.12+cargo-0.87.0 --locked
cargo install cargo-c --version 0.10.11+cargo-0.86.0 --locked
rustup --version
cargo --version

View File

@ -7,6 +7,6 @@ apt install -y $(<./ci/docker/debian/deps.txt)
apt remove -y rustc cargo
pip3 install --break-system-packages meson==1.7.2 hotdoc python-gitlab tomli junitparser
pip3 install --break-system-packages meson==1.5.2 hotdoc python-gitlab tomli junitparser
apt clean all

View File

@ -10,9 +10,4 @@ bash ./ci/scripts/install-rust.sh
git config --global user.email "gstreamer@gstreamer.net"
git config --global user.name "Gstbuild Runner"
bash ./ci/scripts/create-container-user.sh
bash ./ci/scripts/create-subprojects-cache.sh
# leftover caches
rm -rf /root/.cache /root/.npm

View File

@ -28,7 +28,7 @@ dnf install -y glib2-doc gdk-pixbuf2-devel gtk3-devel-docs gtk4-devel-docs libso
# Make sure we don't end up installing these from some transient dependency
dnf remove -y "gstreamer1*-devel" rust cargo meson 'fdk-aac-free*'
pip3 install meson==1.7.2 python-gitlab tomli junitparser bs4
pip3 install meson==1.5.2 python-gitlab tomli junitparser bs4
pip3 install git+https://github.com/hotdoc/hotdoc.git@8c1cc997f5bc16e068710a8a8121f79ac25cbcce
# Install most debug symbols, except the big ones from things we use

View File

@ -10,9 +10,4 @@ git config --global user.name "Gstbuild Runner"
bash ./ci/scripts/install-rust.sh
bash ./ci/scripts/create-container-user.sh
bash ./ci/scripts/create-subprojects-cache.sh
# leftover caches
rm -rf /root/.cache /root/.npm

View File

@ -61,7 +61,7 @@ RUN C:\upgrade_msys2.ps1
RUN C:\msys64\msys2_shell.cmd -ucrt64 -defterm -here -no-start -use-full-path -lc 'pacman -S --noconfirm mingw-w64-ucrt-x86_64-toolchain ninja openssh'
RUN python -m pip install meson==1.7.2 python-gitlab
RUN python -m pip install meson==1.5.2 python-gitlab
RUN 'git config --global user.email "cirunner@gstreamer.freedesktop.org"; git config --global user.name "GStreamer CI system"'

View File

@ -1,6 +1,6 @@
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
$rust_version = '1.86.0'
$rust_version = '1.85.0'
$rustup_url = 'https://win.rustup.rs/x86_64'
Invoke-WebRequest -Uri $rustup_url -OutFile C:\rustup-init.exe

View File

@ -48,23 +48,16 @@ if __name__ == "__main__":
return None
cerbero = None
# Only look for user namespace cerbero branch when running in a merge request
if "CI_MERGE_REQUEST_SOURCE_BRANCH_NAME" in os.environ:
print("GStreamer monorepo merge request")
cerbero_branch = os.environ["CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"]
user_project_path = os.environ["CI_MERGE_REQUEST_SOURCE_PROJECT_PATH"]
user_ns = os.path.dirname(user_project_path)
cerbero_name = f'{user_ns}/cerbero'
# We do not want to run on (often out of date) user upstream branch
if os.environ["CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"] != os.environ["GST_UPSTREAM_BRANCH"]:
try:
cerbero = get_matching_user_project(cerbero_name, cerbero_branch)
except gitlab.exceptions.GitlabGetError as e:
print("No matching user project found: " + str(e))
pass
# We do not want to run on (often out of date) user upstream branch
if os.environ["CI_COMMIT_REF_NAME"] != os.environ['GST_UPSTREAM_BRANCH']:
try:
cerbero_name = f'{os.environ["CI_PROJECT_NAMESPACE"]}/cerbero'
cerbero_branch = os.environ["CI_COMMIT_REF_NAME"]
cerbero = get_matching_user_project(cerbero_name, cerbero_branch)
except gitlab.exceptions.GitlabGetError:
pass
if cerbero is None:
print("Using gstreamer org namespace")
cerbero_name = CERBERO_PROJECT
cerbero_branch = os.environ["GST_UPSTREAM_BRANCH"]
cerbero = gl.projects.get(cerbero_name)

View File

@ -102,21 +102,22 @@ build_container() {
buildah run $build_cntr dnf clean all
buildah run $build_cntr rm -rf /var/lib/cache/dnf
buildah config \
--env RUSTUP_HOME="/usr/local/rustup" \
--env CARGO_HOME="/usr/local/cargo/" \
--env PATH="$PATH:/usr/local/cargo/bin/" \
$build_cntr
# random uid
uid="10043"
name="containeruser"
buildah run $build_cntr -- groupadd $name -g $uid
buildah run $build_cntr -- useradd -u $uid -g $uid -ms /bin/bash $name
# Install rust-analyzer so it can be used with IDEs and devcontainer
buildah run $build_cntr rustup component add rust-analyzer rust-src
buildah run $build_cntr -- usermod -aG wheel $name
buildah run $build_cntr -- bash -c "echo $name ALL=\(ALL\) NOPASSWD:ALL > /etc/sudoers.d/$name"
buildah run $build_cntr -- chmod 0440 /etc/sudoers.d/$name
# Remove the hardcoded HOME env var that ci-templates adds
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2433#note_2243222
# Also add the OCI labels that toolbox expects, to advertize that image is compatible
# Additionally add a non-root default user
buildah config --env HOME- \
--user containeruser \
--user $name \
--label com.github.containers.toolbox=true \
--label org.opencontainers.image.base.name=$BASE_CI_IMAGE \
$build_cntr
@ -146,13 +147,9 @@ if ! check_image_base; then
build_container
podman push "$TOOLBOX_IMAGE"
if [ "$GST_UPSTREAM_BRANCH" == "$CI_COMMIT_BRANCH" ]; then
podman push "$TOOLBOX_LATEST"
fi
podman push "$TOOLBOX_LATEST"
fi
echo "Create your toolbox with either of the following commands"
echo " $ toolbox create gst-$TOOLBOX_BRANCH --image $TOOLBOX_IMAGE"
if [ "$GST_UPSTREAM_BRANCH" == "$CI_COMMIT_BRANCH" ]; then
echo " $ toolbox create gst-$GST_UPSTREAM_BRANCH --image $TOOLBOX_LATEST"
fi
echo " $ toolbox create gst-toolbox --image $TOOLBOX_LATEST"
echo " $ toolbox create gst-toolbox-$TOOLBOX_BRANCH --image $TOOLBOX_IMAGE"

View File

@ -22,7 +22,7 @@ if __name__ == "__main__":
with open(diffname, 'w') as diff:
subprocess.check_call(['git', 'diff'], stdout=diff)
print(f'\033[91mYou have a diff in the {opts.name}. Please update with:\033[0m')
print(' $ curl -L %s/%s | git apply -' %
print(' $ curl %s/%s | git apply -' %
(os.environ.get('CI_ARTIFACTS_URL', "NOT_RUNNING_ON_CI"), diffname.replace('../', '')))
if res != 0:

View File

@ -1,12 +0,0 @@
#! /bin/bash
set -eux
uid="10043"
name="containeruser"
groupadd $name -g $uid
useradd -u $uid -g $uid -ms /bin/bash $name
usermod -aG wheel $name || usermod -aG sudo $name
bash -c "echo $name ALL=\(ALL\) NOPASSWD:ALL > /etc/sudoers.d/$name"
chmod 0440 /etc/sudoers.d/$name

View File

@ -2,17 +2,11 @@
set -eux
# Path where cbuild checks out the repo
cd /tmp/clone/
# get gstreamer and make all subprojects available
git submodule update --init --depth=1
meson subprojects download
./ci/scripts/handle-subprojects-cache.py --build --cache-dir /subprojects /tmp/clone/subprojects/
# Avoid the cache being owned by root
# and make sure its readable to anyone
chown containeruser:containeruser --recursive /subprojects/
chmod --recursive a+r /subprojects/
git clone -b "${GIT_BRANCH}" "${GIT_URL}" /gstreamer
git -C /gstreamer submodule update --init --depth=1
meson subprojects download --sourcedir /gstreamer
./ci/scripts/handle-subprojects-cache.py --build --cache-dir /subprojects /gstreamer/subprojects/
# Now remove the gstreamer clone
rm -rf /gstreamer

View File

@ -3,8 +3,8 @@
set -eux
# Install Rust
RUSTUP_VERSION=1.28.1
RUST_VERSION=1.86.0
RUSTUP_VERSION=1.27.1
RUST_VERSION=1.85.0
RUST_ARCH="x86_64-unknown-linux-gnu"
RUSTUP_URL=https://static.rust-lang.org/rustup/archive/$RUSTUP_VERSION/$RUST_ARCH/rustup-init
@ -17,14 +17,9 @@ export PATH="/usr/local/cargo/bin:$PATH"
chmod +x rustup-init;
./rustup-init -y --no-modify-path --default-toolchain $RUST_VERSION;
rm rustup-init;
# We are root while creating the directory, but we want it to
# be accessible to all users
chmod -R a+w $RUSTUP_HOME $CARGO_HOME
cargo install --locked cargo-c --version 0.10.12+cargo-0.87.0
# We don't need them in the build image and they occupy
# 600mb of html files (athough they compress extremely well)
rustup component remove rust-docs
cargo install --locked cargo-c --version 0.10.11+cargo-0.86.0
rustup --version
cargo --version

View File

@ -2,18 +2,6 @@
image_cache="${SUBPROJECTS_CACHE_DIR:-}"
# Print useful metadata at the start of the build
if [[ -e "/etc/os-release" ]]; then
cat /etc/os-release
fi
whoami
id -u
id -g
date && date -u
echo $SHELL
echo $PATH
# On the CI image we install the rust toolcahin under this path
# If it exists set the HOME and PATH variables and print the versions
# of what we have installed

File diff suppressed because it is too large Load Diff

View File

@ -330,43 +330,6 @@ The memory is only mmapped on gst_buffer_map() request.</doc>
</parameter>
</parameters>
</function>
<function name="alloc_full" c:identifier="gst_fd_allocator_alloc_full" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">Return a %GstMemory that wraps a generic file descriptor.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">a GstMemory based on @allocator.
When the buffer will be released the allocator will close the @fd unless
the %GST_FD_MEMORY_FLAG_DONT_CLOSE flag is specified.
The memory is only mmapped on gst_buffer_map() request.</doc>
<type name="Gst.Memory" c:type="GstMemory*"/>
</return-value>
<parameters>
<parameter name="allocator" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">allocator to be used for this memory</doc>
<type name="Gst.Allocator" c:type="GstAllocator*"/>
</parameter>
<parameter name="fd" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">file descriptor</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="maxsize" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">the total size of the memory represented by @fd</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="offset" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">the offset of valid data in the memory</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">the size of valid data in the memory</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
<parameter name="flags" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstfdmemory.c">extra #GstFdMemoryFlags</doc>
<type name="FdMemoryFlags" c:type="GstFdMemoryFlags"/>
</parameter>
</parameters>
</function>
<field name="parent">
<type name="Gst.Allocator" c:type="GstAllocator"/>
</field>
@ -512,10 +475,6 @@ gst_shm_allocator_init_once() has not been previously called.</doc>
<type name="none" c:type="void"/>
</return-value>
</function>
<field name="parent_instance" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.h">Parent instance.</doc>
<type name="FdAllocator" c:type="GstFdAllocator"/>
</field>
</class>
<record name="ShmAllocatorClass" c:type="GstShmAllocatorClass" glib:is-gtype-struct-for="ShmAllocator">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/allocators/gstshmallocator.h"/>

View File

@ -1385,20 +1385,6 @@ dimension is dynamic.</doc>
</parameter>
</parameters>
</method>
<function name="data_type_get_name" c:identifier="gst_tensor_data_type_get_name" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensor.c">Get a string version of the data type</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensor.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensor.c">a constant string with the name of the data type</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="data_type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensor.c">a #GstTensorDataType</doc>
<type name="TensorDataType" c:type="GstTensorDataType"/>
</parameter>
</parameters>
</function>
</record>
<enumeration name="TensorDataType" version="1.26" c:type="GstTensorDataType">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensor.h">Describe the type of data contain in the tensor.</doc>
@ -1495,25 +1481,6 @@ smaller than #GstTensorMeta.num_tensors</doc>
</parameter>
</parameters>
</method>
<method name="get_by_id" c:identifier="gst_tensor_meta_get_by_id" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensormeta.c">Get the first tensor from the #GstTensorMeta identified by @id.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensormeta.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensormeta.c">a GstTensor with id matching @id.
Otherwise NULL will be returned.</doc>
<type name="Tensor" c:type="const GstTensor*"/>
</return-value>
<parameters>
<instance-parameter name="tmeta" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensormeta.c">A #GstTensorMeta</doc>
<type name="TensorMeta" c:type="GstTensorMeta*"/>
</instance-parameter>
<parameter name="id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensormeta.c">A #GQuark identifying tensor-encoding</doc>
<type name="GLib.Quark" c:type="GQuark"/>
</parameter>
</parameters>
</method>
<method name="get_index_from_id" c:identifier="gst_tensor_meta_get_index_from_id" version="1.26">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensormeta.c">Finds the first tensor with the requsted ID in the meta</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensormeta.h"/>
@ -1757,94 +1724,6 @@ desired to track an object across many frames. This type of metadata holds
information about the tracking, for example, it can be used alongside a
#GstAnalyticsODMtd to track an object.</doc>
</docsection>
<function name="image_util_iou_float" c:identifier="gst_analytics_image_util_iou_float" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Calculate the intersection over the union (IoU) of the two areas defined by
the bounding box 1 and bounding box 2. IoU is a measure of how much two
regions overlap.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">IoU of bb1 and bb2.</doc>
<type name="gfloat" c:type="gfloat"/>
</return-value>
<parameters>
<parameter name="bb1_x" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 1, X coordinate</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
<parameter name="bb1_y" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 1, Y coordinate</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
<parameter name="bb1_w" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 1, width</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
<parameter name="bb1_h" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 1, height</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
<parameter name="bb2_x" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 2, X coordinate</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
<parameter name="bb2_y" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 2, Y coordinate</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
<parameter name="bb2_w" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 2, width</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
<parameter name="bb2_h" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 2, height</doc>
<type name="gfloat" c:type="gfloat"/>
</parameter>
</parameters>
</function>
<function name="image_util_iou_int" c:identifier="gst_analytics_image_util_iou_int" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Calculate the intersection over the union (IoU) of the two areas defined by
the bounding box 1 and bounding box 2. IoU is a measure of how much two
regions overlap.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">IoU of bb1 and bb2.</doc>
<type name="gfloat" c:type="gfloat"/>
</return-value>
<parameters>
<parameter name="bb1_x" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 1, X coordinate</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="bb1_y" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 1, Y coordinate</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="bb1_w" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 1, width</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="bb1_h" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 1, height</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="bb2_x" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 2, X coordinate</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="bb2_y" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 2, Y coordinate</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="bb2_w" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 2, width</doc>
<type name="gint" c:type="gint"/>
</parameter>
<parameter name="bb2_h" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalytics_image_util.c">Bounding box 2, height</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</function>
<function name="mtd_type_get_name" c:identifier="gst_analytics_mtd_type_get_name" moved-to="Mtd.type_get_name" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Gets the string version of the name of this type of analytics data</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
@ -1905,20 +1784,6 @@ metadata type.</doc>
<type name="MtdType" c:type="GstAnalyticsMtdType"/>
</return-value>
</function>
<function name="tensor_data_type_get_name" c:identifier="gst_tensor_data_type_get_name" moved-to="Tensor.data_type_get_name" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensor.c">Get a string version of the data type</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensor.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensor.c">a constant string with the name of the data type</doc>
<type name="utf8" c:type="const gchar*"/>
</return-value>
<parameters>
<parameter name="data_type" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensor.c">a #GstTensorDataType</doc>
<type name="TensorDataType" c:type="GstTensorDataType"/>
</parameter>
</parameters>
</function>
<function name="tensor_meta_api_get_type" c:identifier="gst_tensor_meta_api_get_type" version="1.26" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gsttensormeta.h"/>
<return-value transfer-ownership="none">

View File

@ -7,20 +7,6 @@ and/or use gtk-doc annotations. -->
<package name="gstreamer-app-1.0"/>
<c:include name="gst/app/app.h"/>
<namespace name="GstApp" version="1.0" shared-library="libgstapp-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<function-macro name="APP_DEPRECATED_FOR" c:identifier="GST_APP_DEPRECATED_FOR" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/app-prelude.h"/>
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="APP_DEPRECATED_TYPE_FOR" c:identifier="GST_APP_DEPRECATED_TYPE_FOR" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/app-prelude.h"/>
<parameters>
<parameter name="f">
</parameter>
</parameters>
</function-macro>
<function-macro name="APP_SINK" c:identifier="GST_APP_SINK" introspectable="0">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.h"/>
<parameters>
@ -94,7 +80,7 @@ which accept a timeout parameter to limit the amount of time to wait.
Appsink will internally use a queue to collect buffers from the streaming
thread. If the application is not pulling samples fast enough, this queue
will consume a lot of memory over time. The "max-buffers", "max-time" and "max-bytes"
properties can be used to limit the queue size. The "leaky-type" property controls whether the
properties can be used to limit the queue size. The "drop" property controls whether the
streaming thread blocks or if older buffers are dropped when the maximum
queue size is reached. Note that blocking the streaming thread can negatively
affect real-time performance and should be avoided.
@ -337,52 +323,9 @@ condition.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_current_level_buffers" c:identifier="gst_app_sink_get_current_level_buffers" glib:get-property="current-level-buffers" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Get the number of currently queued buffers inside @appsink.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">The number of currently queued buffers.</doc>
<type name="guint64" c:type="guint64"/>
</return-value>
<parameters>
<instance-parameter name="appsink" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">a #GstAppSink</doc>
<type name="AppSink" c:type="GstAppSink*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_current_level_bytes" c:identifier="gst_app_sink_get_current_level_bytes" glib:get-property="current-level-bytes" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Get the number of currently queued bytes inside @appsink.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">The number of currently queued bytes.</doc>
<type name="guint64" c:type="guint64"/>
</return-value>
<parameters>
<instance-parameter name="appsink" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">a #GstAppSink</doc>
<type name="AppSink" c:type="GstAppSink*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_current_level_time" c:identifier="gst_app_sink_get_current_level_time" glib:get-property="current-level-time" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Get the amount of currently queued time inside @appsink.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">The amount of currently queued time.</doc>
<type name="Gst.ClockTime" c:type="GstClockTime"/>
</return-value>
<parameters>
<instance-parameter name="appsink" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">a #GstAppSink</doc>
<type name="AppSink" c:type="GstAppSink*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_drop" c:identifier="gst_app_sink_get_drop" glib:get-property="drop" deprecated="1" deprecated-version="1.28">
<method name="get_drop" c:identifier="gst_app_sink_get_drop" glib:get-property="drop">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Check if @appsink will drop old buffers when the maximum amount of queued
data is reached (meaning max buffers, time or bytes limit, whichever is hit first).</doc>
<doc-deprecated xml:space="preserve">Use gst_app_src_get_leaky_type() instead.</doc-deprecated>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">%TRUE if @appsink is dropping old buffers when the queue is
@ -411,21 +354,6 @@ signals.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_leaky_type" c:identifier="gst_app_sink_get_leaky_type" glib:get-property="leaky-type" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Returns the currently set #GstAppLeakyType. See gst_app_sink_set_leaky_type()
for more details.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">The currently set #GstAppLeakyType.</doc>
<type name="AppLeakyType" c:type="GstAppLeakyType"/>
</return-value>
<parameters>
<instance-parameter name="appsink" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">a #GstAppSink</doc>
<type name="AppSink" c:type="GstAppSink*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_max_buffers" c:identifier="gst_app_sink_get_max_buffers" glib:get-property="max-buffers">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Get the maximum amount of buffers that can be queued in @appsink.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.h"/>
@ -665,10 +593,9 @@ you must check the caps on the samples to get the actual used caps.</doc>
</parameter>
</parameters>
</method>
<method name="set_drop" c:identifier="gst_app_sink_set_drop" glib:set-property="drop" deprecated="1" deprecated-version="1.28">
<method name="set_drop" c:identifier="gst_app_sink_set_drop" glib:set-property="drop">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Instruct @appsink to drop old buffers when the maximum amount of queued
data is reached, that is, when any configured limit is hit (max-buffers, max-time or max-bytes).</doc>
<doc-deprecated xml:space="preserve">Use gst_app_src_get_leaky_type() instead.</doc-deprecated>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
@ -703,26 +630,6 @@ the application prefers to operate in pull mode.</doc>
</parameter>
</parameters>
</method>
<method name="set_leaky_type" c:identifier="gst_app_sink_set_leaky_type" glib:set-property="leaky-type" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">When set to any other value than GST_APP_LEAKY_TYPE_NONE then the appsink
will drop any buffers that are pushed into it once its internal queue is
full. The selected type defines whether to drop the oldest or new
buffers.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="appsink" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">a #GstAppSink</doc>
<type name="AppSink" c:type="GstAppSink*"/>
</instance-parameter>
<parameter name="leaky" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">the #GstAppLeakyType</doc>
<type name="AppLeakyType" c:type="GstAppLeakyType"/>
</parameter>
</parameters>
</method>
<method name="set_max_buffers" c:identifier="gst_app_sink_set_max_buffers" glib:set-property="max-buffers">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Set the maximum amount of buffers that can be queued in @appsink. After this
amount of buffers are queued in appsink, any more buffers will block upstream
@ -910,44 +817,15 @@ condition.</doc>
<property name="caps" writable="1" transfer-ownership="none" setter="set_caps" getter="get_caps">
<type name="Gst.Caps"/>
</property>
<property name="current-level-buffers" version="1.28" transfer-ownership="none" getter="get_current_level_buffers" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">The number of currently queued buffers inside appsink.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="current-level-bytes" version="1.28" transfer-ownership="none" getter="get_current_level_bytes" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">The number of currently queued bytes inside appsink.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="current-level-time" version="1.28" transfer-ownership="none" getter="get_current_level_time" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">The amount of currently queued time inside appsink.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="drop" deprecated="1" deprecated-version="1.28" writable="1" transfer-ownership="none" setter="set_drop" getter="get_drop" default-value="FALSE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Drop old buffers when the buffer queue is filled.</doc>
<doc-deprecated xml:space="preserve">Use "leaky-type" property instead.</doc-deprecated>
<property name="drop" writable="1" transfer-ownership="none" setter="set_drop" getter="get_drop" default-value="FALSE">
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="dropped" version="1.28" transfer-ownership="none" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Number of buffers that were dropped.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="emit-signals" writable="1" transfer-ownership="none" setter="set_emit_signals" getter="get_emit_signals" default-value="FALSE">
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="eos" transfer-ownership="none" default-value="TRUE">
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="in" version="1.28" transfer-ownership="none" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Number of input buffers that were queued.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="leaky-type" version="1.28" writable="1" transfer-ownership="none" setter="set_leaky_type" getter="get_leaky_type" default-value="GST_APP_LEAKY_TYPE_NONE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">When set to any other value than GST_APP_LEAKY_TYPE_NONE then the appsink
will drop any buffers that are pushed into it once its internal queue is
full. The selected type defines whether to drop the oldest or new
buffers.</doc>
<type name="AppLeakyType"/>
</property>
<property name="max-buffers" writable="1" transfer-ownership="none" setter="set_max_buffers" getter="get_max_buffers" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Maximum amount of buffers in the queue (0 = unlimited).</doc>
<type name="guint" c:type="guint"/>
@ -960,14 +838,6 @@ buffers.</doc>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Maximum total duration of data in the queue (0 = unlimited)</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="out" version="1.28" transfer-ownership="none" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Number of output buffers that were dequeued.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="silent" version="1.28" writable="1" transfer-ownership="none" default-value="TRUE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Don't emit notify for input, output and dropped buffers.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="wait-on-eos" version="1.8" writable="1" transfer-ownership="none" setter="set_wait_on_eos" getter="get_wait_on_eos" default-value="TRUE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsink.c">Wait for all buffers to be processed after receiving an EOS.
@ -1097,7 +967,7 @@ can pull samples at its own rate.
Note that when the application does not pull samples fast enough, the
queued samples could consume a lot of memory, especially when dealing with
raw video frames. It's possible to control the behaviour of the queue with
the "leaky-type" and "max-buffers" / "max-bytes" / "max-time" set of properties.
the "drop" and "max-buffers" / "max-bytes" / "max-time" set of properties.
If an EOS event was received before any buffers, this function returns
%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.</doc>
@ -1118,7 +988,7 @@ Events can be pulled when the appsink is in the READY, PAUSED or PLAYING state.
Note that when the application does not pull samples fast enough, the
queued samples could consume a lot of memory, especially when dealing with
raw video frames. It's possible to control the behaviour of the queue with
the "leaky-type" and "max-buffers" / "max-bytes" / "max-time" set of properties.
the "drop" and "max-buffers" / "max-bytes" / "max-time" set of properties.
This function will only pull serialized events, excluding
the EOS event for which this functions returns
@ -1183,7 +1053,7 @@ can pull samples at its own rate.
Note that when the application does not pull samples fast enough, the
queued samples could consume a lot of memory, especially when dealing with
raw video frames. It's possible to control the behaviour of the queue with
the "leaky-type" and "max-buffers" / "max-bytes" / "max-time" set of properties.
the "drop" and "max-buffers" / "max-bytes" / "max-time" set of properties.
If an EOS event was received before any buffers or the timeout expires,
this function returns %NULL. Use gst_app_sink_is_eos () to check
@ -2206,10 +2076,6 @@ on outgoing buffers.</doc>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c">The amount of currently queued time inside appsrc.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="dropped" version="1.28" transfer-ownership="none" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c">Number of buffers that were dropped.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="duration" version="1.10" writable="1" transfer-ownership="none" setter="set_duration" getter="get_duration" default-value="18446744073709551615">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c">The total duration in nanoseconds of the data stream. If the total duration is known, it
is recommended to configure it with this property.</doc>
@ -2237,10 +2103,6 @@ GstAppSrc::format should be time. However, possibly #GstAppSrc can support
other formats.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="in" version="1.28" transfer-ownership="none" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c">Number of input buffers that were queued.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="is-live" writable="1" transfer-ownership="none" default-value="FALSE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c">Instruct the source to behave like a live source. This includes that it
will only push out buffers in the PLAYING state.</doc>
@ -2284,14 +2146,6 @@ latency calculations of #GstBaseSrc.</doc>
queue drops below this percentage of max-bytes.</doc>
<type name="guint" c:type="guint"/>
</property>
<property name="out" version="1.28" transfer-ownership="none" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c">Number of output buffers that were dequeued.</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="silent" version="1.28" writable="1" transfer-ownership="none" default-value="TRUE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c">Don't emit notify for input, output and dropped buffers.</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="size" writable="1" transfer-ownership="none" setter="set_size" getter="get_size" default-value="-1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/app/gstappsrc.c">The total size in bytes of the data stream. If the total size is known, it
is recommended to configure it with this property.</doc>

View File

@ -2503,18 +2503,6 @@ usage.</doc>
</instance-parameter>
</parameters>
</method>
<property name="current-level-buffers" version="1.28" transfer-ownership="none" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstaggregator.c">The number of currently queued buffers inside this pad</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="current-level-bytes" version="1.28" transfer-ownership="none" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstaggregator.c">The number of currently queued bytes inside this pad</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="current-level-time" version="1.28" transfer-ownership="none" default-value="0">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstaggregator.c">The amount of currently queued time inside this pad</doc>
<type name="guint64" c:type="guint64"/>
</property>
<property name="emit-signals" version="1.16" writable="1" transfer-ownership="none" default-value="FALSE">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstaggregator.c">Enables the emission of signals such as #GstAggregatorPad::buffer-consumed</doc>
<type name="gboolean" c:type="gboolean"/>
@ -3760,10 +3748,6 @@ into the frame data that the picture starts.</doc>
</parameter>
</parameters>
</method>
<property name="disable-clip" version="1.28" writable="1" transfer-ownership="none" default-value="TRUE">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstbaseparse.c">Disable dropping buffers that are out of segment</doc>
<type name="gboolean" c:type="gboolean"/>
</property>
<property name="disable-passthrough" writable="1" transfer-ownership="none" default-value="FALSE">
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstbaseparse.c">If set to %TRUE, baseparse will unconditionally force parsing of the
incoming data. This can be required in the rare cases where the incoming

View File

@ -8608,19 +8608,6 @@ require this to be called with a valid handle before drawing can commence.</doc>
</instance-parameter>
</parameters>
</method>
<method name="get_request_output_surface" c:identifier="gst_gl_window_get_request_output_surface" version="1.28">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">whether an visible output surface has been requested</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="window" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
<type name="GLWindow" c:type="GstGLWindow*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_surface_dimensions" c:identifier="gst_gl_window_get_surface_dimensions" version="1.6">
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
<return-value transfer-ownership="none">
@ -8970,23 +8957,6 @@ according to the #GstVideoOverlay interface.</doc>
</parameter>
</parameters>
</method>
<method name="set_request_output_surface" c:identifier="gst_gl_window_set_request_output_surface" version="1.28">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Configure whether a visible output surface is requested.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="window" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">a #GstGLWindow</doc>
<type name="GLWindow" c:type="GstGLWindow*"/>
</instance-parameter>
<parameter name="output_surface" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">whether to request an output surface.</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_resize_callback" c:identifier="gst_gl_window_set_resize_callback" version="1.4">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.c">Sets the resize callback called every time a resize of the window occurs.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglwindow.h"/>

View File

@ -682,7 +682,7 @@ the track buffers for playback purposes.
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mse/gstsourcebuffer.c">#GstSourceBuffer instance</doc>
<type name="SourceBuffer" c:type="GstSourceBuffer*"/>
</instance-parameter>
<parameter name="buf" transfer-ownership="full">
<parameter name="buf" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/mse/gstsourcebuffer.c">The media data to append</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>

View File

@ -3068,7 +3068,7 @@ Formats are sorted by decreasing "quality", using these criteria by priority:
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_FORMATS_ALL_STR" value="A444_16BE, A444_16LE, AYUV64, ARGB64, Y416_BE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, Y416_LE, RGBA64_LE, ARGB64_LE, BGRA64_LE, ABGR64_LE, A422_16BE, A422_16LE, A420_16BE, A420_16LE, A444_12BE, GBRA_12BE, A444_12LE, GBRA_12LE, Y412_BE, Y412_LE, A422_12BE, A422_12LE, A420_12BE, A420_12LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, BGR10A2_LE, RGB10A2_LE, A444, GBRA, AYUV, VUYA, RGBA, RBGA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16BE, GBR_16BE, Y444_16LE, GBR_16LE, Y216_BE, v216, Y216_LE, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE40, NV16_10LE32, Y210, UYVP, v210, I420_10BE, I420_10LE, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, P010_10LE, NV12_10LE40, NV12_10LE32, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE16, GRAY10_LE32, GRAY8" c:type="GST_VIDEO_FORMATS_ALL_STR" version="1.24">
<constant name="VIDEO_FORMATS_ALL_STR" value="A444_16BE, A444_16LE, AYUV64, ARGB64, Y416_BE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, Y416_LE, RGBA64_LE, ARGB64_LE, BGRA64_LE, ABGR64_LE, A422_16BE, A422_16LE, A420_16BE, A420_16LE, A444_12BE, GBRA_12BE, A444_12LE, GBRA_12LE, Y412_BE, Y412_LE, A422_12BE, A422_12LE, A420_12BE, A420_12LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, BGR10A2_LE, RGB10A2_LE, A444, GBRA, AYUV, VUYA, RGBA, RBGA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16BE, GBR_16BE, Y444_16LE, GBR_16LE, Y216_BE, v216, Y216_LE, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, UYVP, v210, I420_10BE, I420_10LE, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, P010_10LE, NV12_10LE40, NV12_10LE32, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE16, GRAY10_LE32, GRAY8" c:type="GST_VIDEO_FORMATS_ALL_STR" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Declare all video formats as a string.
Formats are sorted by decreasing "quality", using these criteria by priority:
@ -3444,7 +3444,7 @@ Return the width of one tile in pixels, zero if its not an integer.</doc>
</parameter>
</parameters>
</function-macro>
<constant name="VIDEO_FORMAT_LAST" value="140" c:type="GST_VIDEO_FORMAT_LAST" version="1.26">
<constant name="VIDEO_FORMAT_LAST" value="139" c:type="GST_VIDEO_FORMAT_LAST" version="1.26">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Number of video formats in #GstVideoFormat.</doc>
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
<type name="gint" c:type="gint"/>
@ -10742,9 +10742,6 @@ bits.</doc>
<member name="gray10_le16" value="138" c:identifier="GST_VIDEO_FORMAT_GRAY10_LE16" version="1.26" glib:nick="gray10-le16" glib:name="GST_VIDEO_FORMAT_GRAY10_LE16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">10-bit grayscale, packed into 16bit words (6 bits left padding)</doc>
</member>
<member name="nv16_10le40" value="139" c:identifier="GST_VIDEO_FORMAT_NV16_10LE40" version="1.28" glib:nick="nv16-10le40" glib:name="GST_VIDEO_FORMAT_NV16_10LE40">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Fully packed variant of NV16_10LE32</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.
If the FOURCC cannot be represented by #GstVideoFormat,

View File

@ -190,97 +190,6 @@ and/or use gtk-doc annotations. -->
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_ADDRESS" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_ADDRESS" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_FOUNDATION" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_FOUNDATION" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_PORT" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_PORT" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_PRIORITY" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_PRIORITY" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_PROTOCOL" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_PROTOCOL" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_RELATED_ADDRESS" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_RELATED_ADDRESS" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_RELATED_PORT" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_RELATED_PORT" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_RELAY_PROTOCOL" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_RELAY_PROTOCOL" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_STREAM_ID" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_STREAM_ID" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_TCP_TYPE" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_TCP_TYPE" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_TYPE" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_TYPE" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_URL" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_URL" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CANDIDATE_STATS_USERNAME_FRAGMENT" c:identifier="GST_WEBRTC_ICE_CANDIDATE_STATS_USERNAME_FRAGMENT" version="1.28" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
<parameter name="c">
</parameter>
</parameters>
</function-macro>
<function-macro name="WEBRTC_ICE_CLASS" c:identifier="GST_WEBRTC_ICE_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<parameters>
@ -507,9 +416,8 @@ for more information.</doc>
</instance-parameter>
</parameters>
</method>
<method name="send_data" c:identifier="gst_webrtc_data_channel_send_data" deprecated="1" deprecated-version="1.22">
<method name="send_data" c:identifier="gst_webrtc_data_channel_send_data">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/datachannel.c">Send @data as a data message over @channel.</doc>
<doc-deprecated xml:space="preserve">Use gst_webrtc_data_channel_send_data_full() instead</doc-deprecated>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/datachannel.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
@ -543,9 +451,8 @@ for more information.</doc>
</parameter>
</parameters>
</method>
<method name="send_string" c:identifier="gst_webrtc_data_channel_send_string" deprecated="1" deprecated-version="1.22">
<method name="send_string" c:identifier="gst_webrtc_data_channel_send_string">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/datachannel.c">Send @str as a string message over @channel.</doc>
<doc-deprecated xml:space="preserve">Use gst_webrtc_data_channel_send_string_full() instead</doc-deprecated>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/datachannel.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
@ -666,8 +573,7 @@ for more information.</doc>
<type name="none" c:type="void"/>
</return-value>
</glib:signal>
<glib:signal name="send-data" when="last" action="1" deprecated="1" deprecated-version="1.22">
<doc-deprecated xml:space="preserve">Use gst_webrtc_data_channel_send_data_full() instead</doc-deprecated>
<glib:signal name="send-data" when="last" action="1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@ -678,8 +584,7 @@ for more information.</doc>
</parameter>
</parameters>
</glib:signal>
<glib:signal name="send-string" when="last" action="1" deprecated="1" deprecated-version="1.22">
<doc-deprecated xml:space="preserve">Use gst_webrtc_data_channel_send_string_full() instead</doc-deprecated>
<glib:signal name="send-string" when="last" action="1">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
@ -1580,66 +1485,34 @@ stops automatic ICE gathering.</doc>
<record name="WebRTCICECandidateStats" c:type="GstWebRTCICECandidateStats" version="1.22" glib:type-name="GstWebRTCICECandidateStats" glib:get-type="gst_webrtc_ice_candidate_stats_get_type" c:symbol-prefix="webrtc_ice_candidate_stats">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<field name="ipaddr" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h">A string containing the address of the candidate. This value may be
an IPv4 address, an IPv6 address, or a fully-qualified domain name</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<field name="port" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h">The network port number used by the candidate</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="stream_id" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h">A string that uniquely identifies the object that is being
monitored to produce this set of statistics</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="type" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h">The candidate type</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="proto" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h">A string specifying the protocol (tcp or udp) used to transmit data
on the @port</doc>
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="relay_proto" writable="1">
<type name="utf8" c:type="const gchar*"/>
</field>
<field name="prio" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h">The candidate's priority, corresponding to RTCIceCandidate.priority</doc>
<type name="guint" c:type="guint"/>
</field>
<field name="url" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h">For local candidates, the url property is the URL of the ICE server
from which the candidate was received</doc>
<type name="utf8" c:type="gchar*"/>
</field>
<union name="ABI" c:type="ABI">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<record name="abi" c:type="abi">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<field name="foundation" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="related_address" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="related_port" writable="1">
<type name="guint" c:type="guint"/>
</field>
<field name="username_fragment" writable="1">
<type name="utf8" c:type="gchar*"/>
</field>
<field name="tcp_type" writable="1">
<type name="WebRTCICETcpCandidateType" c:type="GstWebRTCICETcpCandidateType"/>
</field>
</record>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</union>
<field name="_gst_reserved" writable="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="copy" c:identifier="gst_webrtc_ice_candidate_stats_copy" version="1.22">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/ice.h"/>
<return-value transfer-ownership="full">
@ -2288,25 +2161,6 @@ Get HTTP Proxy to be used when connecting to TURN server.</doc>
</callback>
</field>
</record>
<enumeration name="WebRTCICETcpCandidateType" version="1.28" glib:type-name="GstWebRTCICETcpCandidateType" glib:get-type="gst_webrtc_ice_tcp_candidate_type_get_type" c:type="GstWebRTCICETcpCandidateType">
<member name="active" value="0" c:identifier="GST_WEBRTC_ICE_TCP_CANDIDATE_TYPE_ACTIVE" glib:nick="active" glib:name="GST_WEBRTC_ICE_TCP_CANDIDATE_TYPE_ACTIVE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/webrtc_fwd.h">An "active" TCP candidate is one for which the transport
will attempt to open an outbound connection but will not
receive incoming connection requests.</doc>
</member>
<member name="passive" value="1" c:identifier="GST_WEBRTC_ICE_TCP_CANDIDATE_TYPE_PASSIVE" glib:nick="passive" glib:name="GST_WEBRTC_ICE_TCP_CANDIDATE_TYPE_PASSIVE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/webrtc_fwd.h">A "passive" TCP candidate is one for which the transport
will receive incoming connection attempts but not attempt
a connection.</doc>
</member>
<member name="so" value="2" c:identifier="GST_WEBRTC_ICE_TCP_CANDIDATE_TYPE_SO" glib:nick="so" glib:name="GST_WEBRTC_ICE_TCP_CANDIDATE_TYPE_SO">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/webrtc_fwd.h">An "so" candidate is one for which the transport will attempt
to open a connection simultaneously with its peer.</doc>
</member>
<member name="none" value="3" c:identifier="GST_WEBRTC_ICE_TCP_CANDIDATE_TYPE_NONE" glib:nick="none" glib:name="GST_WEBRTC_ICE_TCP_CANDIDATE_TYPE_NONE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/webrtc_fwd.h">Value used for non-TCP candidate type.</doc>
</member>
</enumeration>
<class name="WebRTCICETransport" c:symbol-prefix="webrtc_ice_transport" c:type="GstWebRTCICETransport" parent="Gst.Object" abstract="1" glib:type-name="GstWebRTCICETransport" glib:get-type="gst_webrtc_ice_transport_get_type" glib:type-struct="WebRTCICETransportClass">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/webrtc/icetransport.h"/>
<virtual-method name="gather_candidates">

View File

@ -35,16 +35,9 @@ endif
gitlint_req = '>= 0.18'
gitlint = find_program('gitlint', version: gitlint_req, required: false)
if gitlint.found()
git = find_program('git', required: false)
if git.found() and fs.is_dir(meson.current_source_dir() / '.git')
gitlint_status = run_command(git, 'hook', 'run', 'commit-msg', check: false)
# exit code 253 means "wrong invocation" in Gitlint
if gitlint_status.returncode() != 253
gitlint_status = run_command(gitlint, 'install-hook', check: false)
if gitlint_status.returncode() != 0
warning(gitlint_status.stderr().strip())
endif
endif
gitlint_status = run_command(gitlint, 'install-hook', check: false)
if gitlint_status.returncode() != 0
warning(gitlint_status.stderr().strip())
endif
else
warning('gitlint not found or too old, please install it with your package manager or `python3 -m pip install gitlint` to enable the commit message hook')
@ -173,7 +166,7 @@ endif
orc_option = get_option('orc')
# There is a check below to keep this in sync with subprojects/gst-plugins-base/meson.build
orc_req = '>= 0.4.34'
orc_req = '>= 0.4.24'
orc_source_option = get_option('orc-source')
orc_subproject = disabler()
if orc_option.allowed()

View File

@ -61,8 +61,6 @@ option('extra-checks', type : 'feature', value : 'enabled', description : 'Enabl
option('benchmarks', type : 'feature', value : 'auto')
option('tools', type : 'feature', value : 'auto', yield : true, description : 'Build command line tools')
option('orc', type : 'feature', value : 'auto', description : 'Optimized Inner Loop Runtime Compiler (SIMD)')
option('qt-method', type: 'combo', value: 'auto', choices: ['auto', 'pkg-config', 'qmake'],
description: 'Method to use to find Qt')
option('qt5', type : 'feature', value : 'auto', description : 'Qt5 toolkit support')
option('qt6', type : 'feature', value : 'auto', description : 'Qt6 toolkit support')
option('webrtc', type : 'feature', value : 'auto', description : 'WebRTC support')

View File

@ -2,5 +2,4 @@
set -e
rustfmt --version
find -name "*.rs" -exec rustfmt "$@" --edition 2021 {} +

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python3
#!/usr/bin/env python
from itertools import filterfalse
import os
@ -6,7 +6,6 @@ import re
import subprocess
from gst_indent_common import indent
def readfile(f):
if os.path.exists(f):
expressions = open(f, 'r', encoding='utf-8').read().splitlines()

View File

@ -1,8 +1,8 @@
#!/usr/bin/env python3
#!/usr/bin/env python
from sys import argv
from gst_indent_common import indent
if __name__ == '__main__':
indent(*argv[1:])
indent(argv[1:])

View File

@ -1,10 +1,9 @@
[wrap-file]
directory = fontconfig-2.15.0
source_url = https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.15.0.tar.xz
source_fallback_url = https://deb.debian.org/debian/pool/main/f/fontconfig/fontconfig_2.15.0.orig.tar.xz
source_filename = fontconfig-2.15.0.tar.xz
source_hash = 63a0658d0e06e0fa886106452b58ef04f21f58202ea02a94c39de0d3335d7c0e
diff_files = fontconfig-2.15.0/0001-meson-Always-use-posix-path-even-on-Windows.patch
directory = fontconfig-2.14.2
source_url = https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.14.2.tar.xz
source_filename = fontconfig-2.14.2.tar.xz
source_hash = dba695b57bce15023d2ceedef82062c2b925e51f5d4cc4aef736cf13f60a468b
diff_files = fontconfig-2.14.2/0001-meson-Always-use-posix-path-even-on-Windows.patch, fontconfig-2.14.2/0001-meson-Always-write-utf-8-files-with-LF-newlines.patch
[provide]
fontconfig = fontconfig_dep

View File

@ -1,6 +1,6 @@
[wrap-file]
directory = glib-networking-2.80.1
source_url = https://download.gnome.org/sources/glib-networking/2.80/glib-networking-2.80.1.tar.xz
source_fallback_url = https://deb.debian.org/debian/pool/main/g/glib-networking/glib-networking_2.80.1.orig.tar.xz
source_filename = glib-networking-2.80.1.tar.xz
source_hash = b80e2874157cd55071f1b6710fa0b911d5ac5de106a9ee2a4c9c7bee61782f8e
directory = glib-networking-2.78.1
source_url = https://download.gnome.org/sources/glib-networking/2.78/glib-networking-2.78.1.tar.xz
source_fallback_url = https://ftp.acc.umu.se/pub/gnome/sources/glib-networking/2.78/glib-networking-2.78.1.tar.xz
source_filename = glib-networking-2.78.1.tar.xz
source_hash = e48f2ddbb049832cbb09230529c5e45daca9f0df0eda325f832f7379859bf09f

View File

@ -1,7 +1,7 @@
[wrap-file]
directory = gobject-introspection-1.74.0
source_url = https://download.gnome.org/sources/gobject-introspection/1.74/gobject-introspection-1.74.0.tar.xz
source_fallback_url = https://deb.debian.org/debian/pool/main/g/gobject-introspection/gobject-introspection_1.74.0.orig.tar.xz
source_fallback_url = https://ftp.acc.umu.se/pub/gnome/sources/gobject-introspection/1.74/gobject-introspection-1.74.0.tar.xz
source_filename = gobject-introspection-1.74.0.tar.xz
source_hash = 347b3a719e68ba4c69ff2d57ee2689233ea8c07fc492205e573386779e42d653
wrapdb_version = 1.74.0-0

View File

@ -1,3 +0,0 @@
target/
node_modules/

View File

@ -1,18 +0,0 @@
// Import all dependencies first
import $ from 'jquery';
import 'jquery-mousewheel';
import 'jquery-color';
import 'bootstrap';
import 'dragscroll';
import * as vizModule from '@viz-js/viz';
import FuseModule from 'fuse.js';
// Make required libraries available globally
window.$ = window.jQuery = $;
window.viz = vizModule;
window.instance = vizModule.instance;
window.Fuse = FuseModule;
// Import Bootstrap CSS
import 'bootstrap/dist/css/bootstrap.min.css';

View File

@ -1,4 +1,4 @@
if not add_languages('rust', required: get_option('dots_viewer'), native: false)
if not add_languages('rust', required: get_option('dots_viewer'))
subdir_done()
endif

File diff suppressed because it is too large Load Diff

View File

@ -4,30 +4,12 @@
"description": "GStreamer dot files viewer",
"main": "static/js/gstdots.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack",
"build:dev": "webpack --config webpack.config.js --mode development"
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Thibault Saunier <tsaunier@igalia.com>",
"license": "MPL-2.0",
"dependencies": {
"@viz-js/viz": "^3.4.0",
"bootstrap": "^3.3.4",
"dragscroll": "0.0.8",
"fuse.js": "^7.0.0",
"jquery": "^2.2.4",
"jquery-color": "^2.2.0",
"jquery-mousewheel": "^3.2.2"
},
"devDependencies": {
"copy-webpack-plugin": "^11.0.0",
"css-loader": "^7.1.2",
"css-minimizer-webpack-plugin": "^7.0.2",
"file-loader": "^6.2.0",
"mini-css-extract-plugin": "^2.9.2",
"style-loader": "^4.0.0",
"terser-webpack-plugin": "^5.3.14",
"webpack": "^5.98.0",
"webpack-cli": "^5.1.4"
"fuse.js": "^7.0.0"
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,40 +0,0 @@
/*!
* Sizzle CSS Selector Engine v2.2.1
* http://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2015-10-17
*/
/*!
* jQuery Color Animations v2.2.0
* https://github.com/jquery/jquery-color
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* Date: Sun May 10 09:02:36 2020 +0200
*/
/*!
* jQuery JavaScript Library v2.2.4
* http://jquery.com/
*
* Includes Sizzle.js
* http://sizzlejs.com/
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2016-05-20T17:23Z
*/
/*!
* jQuery Mousewheel 3.2.2
* Copyright OpenJS Foundation and other contributors
*/

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,5 @@
import "/dist/bundle.js";
import { instance } from "/js/viz-standalone.mjs";
import Fuse from '/js/fuse.min.mjs'
let ws = null;
@ -53,7 +54,7 @@ async function generateSvg(img) {
img.creating_svg = true;
try {
let viz = await window.instance();
let viz = await instance();
const svg = viz.renderSVGElement(img.dot_info.content);
img.src = URL.createObjectURL(new Blob([svg.outerHTML], { type: 'image/svg+xml' }));
img.creating_svg = false;
@ -302,7 +303,7 @@ function updateSearch() {
title: div.querySelector('h2').textContent
}));
const fuse = new window.Fuse(list, options);
const fuse = new Fuse(list, options);
const results = fuse.search(input.value);
for (let div of allDivs) {

File diff suppressed because one or more lines are too long

View File

@ -22,7 +22,7 @@ furnished to do so, subject to the following conditions:
<html>
<head>
<link rel="stylesheet" href="/dist/bundle.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/graphviz.svg.css">
</head>
@ -52,7 +52,13 @@ furnished to do so, subject to the following conditions:
<button id="save-svg" class="btn btn-primary btn-sm" style="margin-right: 5px;">Save SVG</button>
</div>
<script src='/dist/bundle.js'></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/jquery/jquery-mousewheel/master/jquery.mousewheel.min.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/jquery/jquery-color/master/jquery.color.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="http://asvd.github.io/dragscroll/dragscroll.js"></script>
<script type="text/javascript" src="/js/jquery.graphviz.svg.js"></script>
<script type="text/javascript">
let url = new URL(window.location.href);

View File

@ -1,13 +0,0 @@
#!/bin/bash
set -e
if ! command -v npm &> /dev/null; then
echo "npm is not installed. Please install Node.js and npm first."
exit 1
fi
echo "Installing dependencies..."
npm install
echo "Building bundles..."
npm run build

View File

@ -1,72 +0,0 @@
const path = require('path');
const webpack = require('webpack');
const TerserPlugin = require('terser-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
module.exports = {
mode: 'production',
entry: {
bundle: './bundle-entry.js'
},
output: {
path: path.resolve(__dirname, 'static/dist'),
filename: '[name].js',
},
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader'
]
},
// For Bootstrap fonts
{
test: /\.(woff|woff2|eot|ttf|svg)$/,
type: 'asset/resource',
generator: {
filename: 'fonts/[name][ext]'
}
}
]
},
optimization: {
minimize: true,
minimizer: [
new TerserPlugin({
terserOptions: {
compress: {
drop_console: true,
passes: 2
},
mangle: true,
output: {
comments: false
}
}
}),
new CssMinimizerPlugin() // For CSS optimization
],
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
}),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production')
}),
new MiniCssExtractPlugin({
filename: '[name].css'
})
],
resolve: {
alias: {
'jquery': path.resolve(__dirname, 'node_modules/jquery/dist/jquery.js'),
'/js/vendor/viz-standalone.mjs': path.resolve(__dirname, 'node_modules/@viz-js/viz/lib/viz-standalone.mjs'),
'/js/vendor/fuse.min.mjs': path.resolve(__dirname, 'node_modules/fuse.js/dist/fuse.mjs')
}
}
};

View File

@ -79,7 +79,7 @@ gst_mockdecryptor_class_init (GstMockDecryptorClass * klass)
gst_element_class_add_static_pad_template (element_class,
&gst_mockdecryptor_src_template);
gst_element_class_set_static_metadata (element_class,
gst_element_class_set_metadata (element_class,
"Mock decryptor element for unit tests",
GST_ELEMENT_FACTORY_KLASS_DECRYPTOR,
"Use in unit tests", "Charlie Turner <cturner@igalia.com>");
@ -168,7 +168,6 @@ gst_mockdecryptor_transform_caps (GstBaseTransform * base,
gst_caps_intersect_full (transformed_caps, filter,
GST_CAPS_INTERSECT_FIRST);
gst_caps_replace (&transformed_caps, intersection);
gst_caps_unref (intersection);
}
GST_DEBUG_OBJECT (base, "returning %" GST_PTR_FORMAT, transformed_caps);

View File

@ -488,7 +488,6 @@ _append_accept_caps_failure_details (GstValidatePadMonitor * monitor,
}
}
gst_caps_unref (refused_caps);
gst_caps_unref (possible_caps);
gst_object_unref (pad);

View File

@ -699,6 +699,8 @@ gst_validate_report_init (void)
gchar **wanted_files;
wanted_files = g_strsplit (file_env, G_SEARCHPATH_SEPARATOR_S, 0);
/* FIXME: Make sure it is freed in the deinit function when that is
* implemented */
log_files =
g_malloc0 (sizeof (FILE *) * (g_strv_length (wanted_files) + 1));
for (i = 0; i < g_strv_length (wanted_files); i++) {
@ -743,16 +745,6 @@ gst_validate_report_deinit (void)
g_clear_object (&socket_client);
g_clear_object (&server_connection);
if (log_files) {
gint i;
for (i = 0; log_files[i]; i++) {
if (log_files[i] != stdout && log_files[i] != stderr)
fclose (log_files[i]);
}
g_free (log_files);
log_files = NULL;
}
}
/**

View File

@ -90,7 +90,6 @@ gst_validate_reporter_get_priv (GstValidateReporter * reporter)
g_direct_equal, NULL, (GDestroyNotify) gst_validate_report_unref);
g_mutex_init (&priv->reports_lock);
g_weak_ref_init (&priv->runner, NULL);
g_object_set_data_full (G_OBJECT (reporter), REPORTER_PRIVATE, priv,
(GDestroyNotify) _free_priv);
}

View File

@ -2207,7 +2207,6 @@ select_stream_data_free (SelectStreamData * d)
{
gst_validate_action_unref (d->action);
g_list_free_full (d->wanted_streams, g_free);
g_rec_mutex_clear (&d->m);
}
static void
@ -2312,7 +2311,7 @@ done:
if (selected_streams && d->message_sid &&
d->wanted_n_calls >= 1 && d->n_calls == d->wanted_n_calls) {
/* Consider action done once we get the STREAM_SELECTED signal */
gst_validate_action_set_done (d->action);
gst_validate_action_set_done (gst_validate_action_ref (d->action));
gst_bus_disable_sync_message_emission (bus);
g_signal_handler_disconnect (bus, d->message_sid);
d->message_sid = 0;
@ -2348,7 +2347,7 @@ stream_selection_scenario_stopping_cb (GstValidateScenario * scenario,
d->wanted_n_calls, d->n_calls);
}
gst_validate_action_set_done (d->action);
gst_validate_action_set_done (gst_validate_action_ref (d->action));
if (bus && d->message_sid) {
gst_bus_disable_sync_message_emission (bus);
@ -2912,8 +2911,6 @@ _execute_on_sub_scenario (GstValidateScenario * scenario,
data->subaction_done_sigid);
data->subaction_done_sigid = 0;
}
gst_validate_action_set_done (subaction);
}
g_mutex_unlock (&data->sigid_lock);
validate_action_foreign_scenario_data_unref (data);
@ -4390,7 +4387,6 @@ _execute_appsrc_push (GstValidateScenario * scenario,
g_signal_emit_by_name (appsink, "pull-sample", &sample, NULL);
g_strfreev (pipeline_elements);
goto push_sample;
}
@ -5203,6 +5199,11 @@ handle_bus_message (MessageData * d)
GstValidateActionType *stop_action_type;
GstStructure *s;
if (!is_error && priv->ignore_eos) {
GST_INFO_OBJECT (scenario, "Got EOS but ignoring it!");
goto done;
}
if (is_error && priv->allow_errors) {
#ifndef GST_DISABLE_GST_DEBUG
GError *err = NULL;
@ -5253,25 +5254,17 @@ handle_bus_message (MessageData * d)
* Is it possible that this handler is run before _action_set_done(), so
* we check at this point for actions that have a pending_set_done and
* call it before continuing. */
GList *actions = g_list_copy_deep (priv->actions,
(GCopyFunc) (gst_validate_action_ref), NULL);
GList *actions = g_list_copy (priv->actions);
GList *i;
for (i = actions; i; i = i->next) {
GstValidateAction *action = (GstValidateAction *) i->data;
if (action->priv->pending_set_done)
_action_set_done (action);
}
g_list_free_full (actions, (GDestroyNotify) gst_validate_action_unref);
g_list_free (actions);
}
if (!is_error) {
if (priv->ignore_eos) {
GST_INFO_OBJECT (scenario,
"Got EOS but ignoring it, executing next action?");
GST_VALIDATE_SCENARIO_EOS_HANDLING_UNLOCK (scenario);
goto done;
}
priv->got_eos = TRUE;
if (priv->wait_message_action) {
@ -5294,7 +5287,6 @@ handle_bus_message (MessageData * d)
g_list_free_full (priv->seeks,
(GDestroyNotify) gst_validate_seek_information_free);
priv->seeks = NULL;
priv->current_seek = NULL;
SCENARIO_UNLOCK (scenario);
GST_DEBUG_OBJECT (scenario, "Got EOS; generate 'stop' action");
@ -5963,7 +5955,6 @@ gst_validate_scenario_dispose (GObject * object)
}
gst_object_replace ((GstObject **) & priv->clock, NULL);
gst_object_unref (runner);
G_OBJECT_CLASS (gst_validate_scenario_parent_class)->dispose (object);
}
@ -7604,7 +7595,6 @@ _execute_start_http_server (GstValidateScenario * scenario,
err->message);
REPORT_UNLESS (sscanf (line, "PORT: %d", &port) == 1, done,
"Failed to parse port number from server output: %s", line);
g_free (line);
server.port = port;
server.subprocess = subprocess;

View File

@ -518,8 +518,7 @@ gst_validate_deinit (void)
g_list_free (core_config);
core_config = NULL;
g_list_free_full (g_steal_pointer (&all_configs),
(GDestroyNotify) gst_structure_free);
g_list_free_full (all_configs, (GDestroyNotify) gst_structure_free);
gst_validate_deinit_runner ();
gst_validate_scenario_deinit ();

View File

@ -701,9 +701,6 @@ class GstValidateSimpleTest(GstValidateTest):
super().__init__(GstValidateBaseTestManager.COMMAND, *args, **kwargs)
def is_autogenerated(self) -> bool:
return False
def build_arguments(self):
self.add_arguments('--set-test-file', self.test_file)
if self.options.mute:

View File

@ -154,13 +154,12 @@ class Test(Loggable):
@hard_timeout: Max time the test can take in absolute
"""
Loggable.__init__(self)
self.orig_timeout = self.timeout = timeout * TIMEOUT_FACTOR * options.timeout_factor
self.timeout = timeout * TIMEOUT_FACTOR * options.timeout_factor
if hard_timeout:
self.hard_timeout = hard_timeout * TIMEOUT_FACTOR
self.hard_timeout *= options.timeout_factor
else:
self.hard_timeout = hard_timeout
self.orig_hard_timeout = self.hard_timeout
self.classname = classname
self.options = options
self.application = application_name
@ -193,9 +192,6 @@ class Test(Loggable):
self.clean()
def is_autogenerated(self) -> bool:
return True
def remove_logs(self):
for logfile in set([self.logfile]) | self.extra_logfiles:
try:
@ -256,8 +252,6 @@ class Test(Loggable):
self.__env_variable = []
self.kill_subprocess()
self.process = None
self.timeout = self.orig_timeout
self.hard_timeout = self.orig_hard_timeout
def __str__(self):
string = self.classname
@ -651,6 +645,9 @@ class Test(Loggable):
return command
def use_valgrind(self, command, subenv):
vglogsfile = os.path.splitext(self.logfile)[0] + '.valgrind'
self.extra_logfiles.add(vglogsfile)
vg_args = []
for o, v in [('trace-children', 'yes'),
@ -672,7 +669,7 @@ class Test(Loggable):
if not self.options.redirect_logs:
vglogsfile = os.path.splitext(self.logfile)[0] + '.valgrind'
self.extra_logfiles.add(vglogsfile)
vg_args.append("--%s=%s" % ('log-file', vglogsfile.replace("%", "%%")))
vg_args.append("--%s=%s" % ('log-file', vglogsfile))
for supp in self.get_valgrind_suppressions():
vg_args.append("--suppressions=%s" % supp)
@ -2087,7 +2084,7 @@ class _TestsLauncher(Loggable):
if self.options.blacklisted_tests or self.options.wanted_tests:
return
tests_names = [test.classname for test in tests if test.is_autogenerated()]
tests_names = [test.classname for test in tests]
testlist_changed = False
for testsuite in self.options.testsuites:
if not self._check_tester_has_other_testsuite(testsuite, tester) \
@ -2114,7 +2111,7 @@ class _TestsLauncher(Loggable):
else:
optional_out.append((test, None))
tests_names = sorted([(test.classname, test) for test in tests if test.is_autogenerated()] + optional_out,
tests_names = sorted([(test.classname, test) for test in tests] + optional_out,
key=lambda x: x[0].strip('~'))
for tname, test in tests_names:

View File

@ -481,7 +481,6 @@ _set_videoconvert (ValidateSsimOverride * o,
caps = gst_pad_get_current_caps (pad);
gst_object_unref (pad);
gst_caps_replace (&priv->last_caps, caps);
gst_caps_unref (caps);
gst_video_info_init (&priv->in_info);
gst_video_info_init (&priv->out_info);

View File

@ -86,8 +86,6 @@ GST_START_TEST (monitors_cleanup)
g_object_get_data ((GObject *) sink->sinkpads->data, "validate-monitor");
gst_check_objects_destroyed_on_unref (monitor, pmonitor1, pmonitor2, NULL);
gst_check_objects_destroyed_on_unref (pipeline, src, sink, NULL);
gst_object_unref (runner);
}
GST_END_TEST;

View File

@ -154,7 +154,6 @@ GST_START_TEST (buffer_before_segment)
_check_reports_refcount (srcpad, 2);
gst_object_unref (srcpad);
gst_check_object_destroyed_on_unref (sink);
gst_object_unref (monitor);
ASSERT_OBJECT_REFCOUNT (runner, "runner", 2);
gst_object_unref (runner);
}
@ -222,15 +221,11 @@ GST_START_TEST (buffer_outside_segment)
buffer = gst_discont_buffer_new ();
GST_BUFFER_PTS (buffer) = 10 * GST_SECOND;
GST_BUFFER_DURATION (buffer) = GST_SECOND;
pad = gst_element_get_static_pad (identity, "sink");
fail_if (GST_PAD_IS_FLUSHING (pad));
gst_clear_object (&pad);
pad = gst_element_get_static_pad (identity, "src");
fail_if (GST_PAD_IS_FLUSHING (pad));
gst_clear_object (&pad);
pad = gst_element_get_static_pad (sink, "sink");
fail_if (GST_PAD_IS_FLUSHING (pad));
gst_clear_object (&pad);
fail_if (GST_PAD_IS_FLUSHING (gst_element_get_static_pad (identity,
"sink")));
fail_if (GST_PAD_IS_FLUSHING (gst_element_get_static_pad (identity,
"src")));
fail_if (GST_PAD_IS_FLUSHING (gst_element_get_static_pad (sink, "sink")));
fail_unless_equals_int (gst_pad_push (srcpad, buffer), GST_FLOW_OK);
reports = gst_validate_runner_get_reports (runner);

View File

@ -206,10 +206,6 @@ _create_issues (GstValidateRunner * runner)
gst_object_unref (sinkpad);
gst_object_unref (funnel_sink1);
gst_object_unref (funnel_sink2);
free_element_monitor (fakemixer);
free_element_monitor (sink);
free_element_monitor (src2);
free_element_monitor (src1);
gst_check_objects_destroyed_on_unref (fakemixer, funnel_sink1, funnel_sink2,
NULL);
gst_check_objects_destroyed_on_unref (src1, srcpad1, NULL);

View File

@ -37,9 +37,6 @@ GST_START_TEST (test_expression_parser)
fail_unless_equals_uint64 (start, 50 * GST_SECOND);
gst_validate_action_unref (action);
gst_mini_object_unref (GST_MINI_OBJECT (seek_type));
gst_mini_object_unref (GST_MINI_OBJECT (set_vars));
gst_object_unref (scenario);
gst_object_unref (runner);
}

View File

@ -155,8 +155,8 @@ GST_PLUGIN_STATIC_DECLARE(wavpack);
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(adpcmdec);
@ -212,6 +212,9 @@ GST_PLUGIN_STATIC_DECLARE(subenc);
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(jpegformat);
#endif
@ -712,8 +715,8 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(adpcmdec);
@ -769,6 +772,9 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(jpegformat);
#endif

View File

@ -155,8 +155,8 @@ GST_PLUGIN_STATIC_DECLARE(wavpack);
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(adpcmdec);
@ -212,6 +212,9 @@ GST_PLUGIN_STATIC_DECLARE(subenc);
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(jpegformat);
#endif
@ -712,8 +715,8 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(adpcmdec);
@ -769,6 +772,9 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(jpegformat);
#endif

View File

@ -155,8 +155,8 @@ GST_PLUGIN_STATIC_DECLARE(wavpack);
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(adpcmdec);
@ -212,6 +212,9 @@ GST_PLUGIN_STATIC_DECLARE(subenc);
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(jpegformat);
#endif
@ -712,8 +715,8 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(adpcmdec);
@ -769,6 +772,9 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(jpegformat);
#endif

View File

@ -155,8 +155,8 @@ GST_PLUGIN_STATIC_DECLARE(wavpack);
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(adpcmdec);
@ -212,6 +212,9 @@ GST_PLUGIN_STATIC_DECLARE(subenc);
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(jpegformat);
#endif
@ -712,8 +715,8 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(adpcmdec);
@ -769,6 +772,9 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(jpegformat);
#endif

View File

@ -155,8 +155,8 @@ GST_PLUGIN_STATIC_DECLARE(wavpack);
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(adpcmdec);
@ -212,6 +212,9 @@ GST_PLUGIN_STATIC_DECLARE(subenc);
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_DECLARE(jpegformat);
#endif
@ -712,8 +715,8 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_WAVPARSE) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(wavparse);
#endif
#if defined(GST_IOS_PLUGIN_Y4M) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4m);
#if defined(GST_IOS_PLUGIN_Y4MENC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4menc);
#endif
#if defined(GST_IOS_PLUGIN_ADPCMDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(adpcmdec);
@ -769,6 +772,9 @@ gst_ios_init (void)
#if defined(GST_IOS_PLUGIN_VIDEOPARSERSBAD) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(videoparsersbad);
#endif
#if defined(GST_IOS_PLUGIN_Y4MDEC) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(y4mdec);
#endif
#if defined(GST_IOS_PLUGIN_JPEGFORMAT) || defined(GST_IOS_PLUGINS_CODECS)
GST_PLUGIN_STATIC_REGISTER(jpegformat);
#endif

View File

@ -89,11 +89,9 @@ to `running_time` as follows:
The following notation is used:
**B**: `GstBuffer`
- B.timestamp = buffer timestamp (`GST_BUFFER_PTS` or `GST_BUFFER_DTS`)
**S**: SEGMENT event preceding the buffers.
- S.start: start field in the SEGMENT event. This is the lowest allowed
timestamp.
- S.stop: stop field in the SEGMENT event. This is the highers allowed

View File

@ -328,7 +328,7 @@ rust plugins in `gst-build` (`rs` option), you would do:
meson -Drs=disabled <build-directory>
```
You can also peek at the `meson.options` files and `subproject/xyz/meson.options`
You can also peek at the `meson_options.txt` files and `subproject/xyz/meson_options.txt`
files which is where the various project specific build options are listed.
These do not include all the standard Meson options however.

View File

@ -331,7 +331,7 @@ and used as follows:
| `GSTREAMER_PLUGINS_EFFECTS` | alpha alphacolor audiofx cairo cutter debug deinterlace dtmf effectv equalizer gdkpixbuf imagefreeze interleave level multifile replaygain shapewipe smpte spectrum videobox videocrop videomixer accurip aiff audiofxbad autoconvert bayer coloreffects debugutilsbad fieldanalysis freeverb frei0r gaudieffects geometrictransform inter interlace ivtc rawparse removesilence segmentclip smooth speed soundtouch videofiltersbad audiomixer compositor webrtcdsp |
| `GSTREAMER_PLUGINS_NET` | tcp rtsp rtp rtpmanager soup udp dataurisrc sdp srtp rtspclientsink |
| `GSTREAMER_PLUGINS_NET_RESTRICTED` | rtmp |
| `GSTREAMER_PLUGINS_CODECS` | subparse ogg theora vorbis opus alaw apetag audioparsers auparse avi dv flac flv flxdec icydemux id3demux isomp4 jpeg matroska mulaw multipart png speex taglib vpx wavenc wavpack wavparse y4m adpcmdec adpcmenc dashdemux dvbsuboverlay dvdspu hls id3tag kate midi mxf openh264 opusparse pcapparse pnm rfbsrc schro gstsiren smoothstreaming subenc videoparsersbad jpegformat gdp rsvg openjpeg spandsp sbc androidmedia |
| `GSTREAMER_PLUGINS_CODECS` | subparse ogg theora vorbis opus alaw apetag audioparsers auparse avi dv flac flv flxdec icydemux id3demux isomp4 jpeg matroska mulaw multipart png speex taglib vpx wavenc wavpack wavparse y4menc adpcmdec adpcmenc dashdemux dvbsuboverlay dvdspu hls id3tag kate midi mxf openh264 opusparse pcapparse pnm rfbsrc schro gstsiren smoothstreaming subenc videoparsersbad y4mdec jpegformat gdp rsvg openjpeg spandsp sbc androidmedia |
| `GSTREAMER_PLUGINS_CODECS_GPL` | assrender |
| `GSTREAMER_PLUGINS_CODECS_RESTRICTED` | asfmux dtsdec faad mpegpsdemux mpegpsmux mpegtsdemux mpegtsmux voaacenc a52dec amrnb amrwbdec asf dvdsub dvdlpcmdec mad mpeg2dec xingmux realmedia x264 lame mpg123 libav |
| `GSTREAMER_PLUGINS_SYS` | opensles opengl |

View File

@ -20830,7 +20830,6 @@
"GstWpeSrc:draw-background",
"GstWpeSrc:location",
"GstWpeVideoSrc!src",
"GstWpeVideoSrc2!src",
"GstWrapperCameraBinSrc",
"GstWrapperCameraBinSrc!imgsrc",
"GstWrapperCameraBinSrc!vfsrc",
@ -39217,7 +39216,6 @@
"element-webvttenc",
"element-wildmididec",
"element-wpesrc",
"element-wpesrc2",
"element-wrappercamerabinsrc",
"element-x264enc",
"element-x265enc",
@ -69487,14 +69485,14 @@
"plugin-winks",
"plugin-winscreencap",
"plugin-wpe",
"plugin-wpe2",
"plugin-x264",
"plugin-x265",
"plugin-ximagesink",
"plugin-ximagesrc",
"plugin-xingmux",
"plugin-xvimagesink",
"plugin-y4m",
"plugin-y4mdec",
"plugin-y4menc",
"plugin-zbar",
"plugin-zxing",
"png-encoder-pred",
@ -72090,22 +72088,13 @@
"wpesrc",
"wpesrc::configure-web-view",
"wpesrc::load-bytes",
"wpesrc::run-javascript",
"wpesrc:draw-background",
"wpesrc:location",
"wpevideosrc",
"wpevideosrc::configure-web-view",
"wpevideosrc::load-bytes",
"wpevideosrc::run-javascript",
"wpevideosrc:draw-background",
"wpevideosrc:location",
"wpevideosrc2",
"wpevideosrc2::configure-web-view",
"wpevideosrc2::load-bytes",
"wpevideosrc2::wpe-view-created",
"wpevideosrc2::run-javascript",
"wpevideosrc2:draw-background",
"wpevideosrc2:location",
"wrappercamerabinsrc",
"wrappercamerabinsrc:video-source",
"wrappercamerabinsrc:video-source-filter",
@ -72216,4 +72205,4 @@
"zxing:message",
"zxing:try-faster",
"zxing:try-rotate"
]
]

View File

@ -494,8 +494,7 @@ ges_asset_class_init (GESAssetClass * klass)
_properties[PROP_TYPE] =
g_param_spec_gtype ("extractable-type", "Extractable type",
"The type of the Object that can be extracted out of the asset",
G_TYPE_OBJECT,
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
G_TYPE_OBJECT, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
/**
* GESAsset:id:
@ -513,7 +512,7 @@ ges_asset_class_init (GESAssetClass * klass)
_properties[PROP_ID] =
g_param_spec_string ("id", "Identifier",
"The unique identifier of the asset", NULL,
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE);
/**
* GESAsset:proxy:
@ -527,8 +526,7 @@ ges_asset_class_init (GESAssetClass * klass)
*/
_properties[PROP_PROXY] =
g_param_spec_object ("proxy", "Proxy",
"The asset default proxy.", GES_TYPE_ASSET,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
"The asset default proxy.", GES_TYPE_ASSET, G_PARAM_READWRITE);
/**
* GESAsset:proxy-target:
@ -548,8 +546,7 @@ ges_asset_class_init (GESAssetClass * klass)
*/
_properties[PROP_PROXY_TARGET] =
g_param_spec_object ("proxy-target", "Proxy target",
"The target of a proxy asset.", GES_TYPE_ASSET,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
"The target of a proxy asset.", GES_TYPE_ASSET, G_PARAM_READABLE);
g_object_class_install_properties (object_class, PROP_LAST, _properties);

View File

@ -50,8 +50,14 @@
#include "ges-audio-track.h"
#define DEFAULT_CAPS "audio/x-raw"
#define DEFAULT_RESTRICTION_CAPS "audio/x-raw, format=" GST_AUDIO_NE (S32) ", "\
"channels=2, rate=44100, layout=interleaved"
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
#define DEFAULT_RESTRICTION_CAPS "audio/x-raw, format=S32LE, channels=2, "\
"rate=44100, layout=interleaved"
#else
#define DEFAULT_RESTRICTION_CAPS "audio/x-raw, format=S32BE, channels=2, "\
"rate=44100, layout=interleaved"
#endif
struct _GESAudioTrackPrivate
{

View File

@ -149,8 +149,7 @@ ges_audio_uri_source_class_init (GESAudioUriSourceClass * klass)
*/
g_object_class_install_property (object_class, PROP_URI,
g_param_spec_string ("uri", "URI", "uri of the resource",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
element_class->get_natural_framerate = _get_natural_framerate;

View File

@ -131,7 +131,7 @@ ges_clip_asset_class_init (GESClipAssetClass * self_class)
properties[PROP_SUPPORTED_FORMATS] = g_param_spec_flags ("supported-formats",
"Supported formats", "Formats supported by the file",
GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_AUDIO | GES_TRACK_TYPE_VIDEO,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
g_object_class_install_property (object_class, PROP_SUPPORTED_FORMATS,
properties[PROP_SUPPORTED_FORMATS]);

View File

@ -2588,7 +2588,7 @@ ges_clip_class_init (GESClipClass * klass)
properties[PROP_SUPPORTED_FORMATS] = g_param_spec_flags ("supported-formats",
"Supported formats", "Formats supported by the clip",
GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_AUDIO | GES_TRACK_TYPE_VIDEO,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
g_object_class_install_property (object_class, PROP_SUPPORTED_FORMATS,
properties[PROP_SUPPORTED_FORMATS]);
@ -2604,8 +2604,7 @@ ges_clip_class_init (GESClipClass * klass)
*/
properties[PROP_LAYER] = g_param_spec_object ("layer", "Layer",
"The GESLayer where this clip is being used.",
GES_TYPE_LAYER,
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
GES_TYPE_LAYER, G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_property (object_class, PROP_LAYER,
properties[PROP_LAYER]);
@ -2632,8 +2631,7 @@ ges_clip_class_init (GESClipClass * klass)
properties[PROP_DURATION_LIMIT] =
g_param_spec_uint64 ("duration-limit", "Duration Limit",
"A limit on the duration of the clip", 0, G_MAXUINT64,
GST_CLOCK_TIME_NONE,
G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
GST_CLOCK_TIME_NONE, G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_property (object_class, PROP_DURATION_LIMIT,
properties[PROP_DURATION_LIMIT]);

View File

@ -460,7 +460,7 @@ ges_container_class_init (GESContainerClass * klass)
*/
properties[PROP_HEIGHT] = g_param_spec_uint ("height", "Height",
"The span of priorities this container occupies", 0, G_MAXUINT, 1,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
G_PARAM_READABLE);
g_object_class_install_property (object_class, PROP_HEIGHT,
properties[PROP_HEIGHT]);

View File

@ -207,8 +207,7 @@ ges_effect_clip_class_init (GESEffectClipClass * klass)
g_param_spec_string ("video-bin-description",
"Video bin description",
"Description of the video track of the effect",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
/**
* GESEffectClip:audio-bin-description:
@ -222,8 +221,7 @@ ges_effect_clip_class_init (GESEffectClipClass * klass)
g_param_spec_string ("audio-bin-description",
"bin description",
"Bin description of the audio track of the effect",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
timobj_class->create_track_element = _create_track_element;
}

View File

@ -583,7 +583,7 @@ ges_group_class_init (GESGroupClass * klass)
*/
properties[PROP_START] = g_param_spec_uint64 ("start", "Start",
"The position in the container", 0, G_MAXUINT64, 0,
G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
/**
* GESGroup:in-point:
@ -593,8 +593,7 @@ ges_group_class_init (GESGroupClass * klass)
*/
properties[PROP_INPOINT] =
g_param_spec_uint64 ("in-point", "In-point", "The in-point", 0,
G_MAXUINT64, 0,
G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
G_MAXUINT64, 0, G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
/**
* GESGroup:duration:
@ -608,7 +607,7 @@ ges_group_class_init (GESGroupClass * klass)
properties[PROP_DURATION] =
g_param_spec_uint64 ("duration", "Duration", "The duration to use", 0,
G_MAXUINT64, GST_CLOCK_TIME_NONE,
G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
/**
* GESGroup:max-duration:
@ -619,8 +618,7 @@ ges_group_class_init (GESGroupClass * klass)
properties[PROP_MAX_DURATION] =
g_param_spec_uint64 ("max-duration", "Maximum duration",
"The maximum duration of the object", 0, G_MAXUINT64, GST_CLOCK_TIME_NONE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GES_PARAM_NO_SERIALIZATION |
G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GES_PARAM_NO_SERIALIZATION);
/**
* GESGroup:priority:
@ -631,7 +629,7 @@ ges_group_class_init (GESGroupClass * klass)
*/
properties[PROP_PRIORITY] = g_param_spec_uint ("priority", "Priority",
"The priority of the object", 0, G_MAXUINT, 0,
G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
g_object_class_install_properties (object_class, PROP_LAST, properties);

View File

@ -173,8 +173,7 @@ ges_image_source_class_init (GESImageSourceClass * klass)
*/
g_object_class_install_property (object_class, PROP_URI,
g_param_spec_string ("uri", "URI", "uri of the resource",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
source_class->create_source = ges_image_source_create_source;
vsource_class->ABI.abi.get_natural_size =

View File

@ -231,8 +231,7 @@ ges_layer_class_init (GESLayerClass * klass)
*/
g_object_class_install_property (object_class, PROP_PRIORITY,
g_param_spec_uint ("priority", "Priority",
"The priority of the layer", 0, G_MAXUINT, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
"The priority of the layer", 0, G_MAXUINT, 0, G_PARAM_READWRITE));
/**
* GESLayer:auto-transition:
@ -247,8 +246,7 @@ ges_layer_class_init (GESLayerClass * klass)
*/
g_object_class_install_property (object_class, PROP_AUTO_TRANSITION,
g_param_spec_boolean ("auto-transition", "Auto-Transition",
"whether the transitions are added", FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
"whether the transitions are added", FALSE, G_PARAM_READWRITE));
/**
* GESLayer::clip-added:

View File

@ -100,7 +100,7 @@ ges_marker_class_init (GESMarkerClass * klass)
marker_properties[PROP_MARKER_POSITION] =
g_param_spec_uint64 ("position", "Position",
"The position of the marker", 0, G_MAXUINT64,
GST_CLOCK_TIME_NONE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
GST_CLOCK_TIME_NONE, G_PARAM_READABLE);
g_object_class_install_property (object_class, PROP_MARKER_POSITION,
marker_properties[PROP_MARKER_POSITION]);
@ -220,7 +220,7 @@ ges_marker_list_class_init (GESMarkerListClass * klass)
g_param_spec_flags ("flags", "Flags",
"Functionalities the marker list should be used for",
GES_TYPE_MARKER_FLAGS, GES_MARKER_FLAG_NONE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
g_object_class_install_property (object_class, PROP_MARKER_LIST_FLAGS,
list_properties[PROP_MARKER_LIST_FLAGS]);

View File

@ -235,16 +235,11 @@ _set_value (GESMetaContainer * container, const gchar * meta_item,
gchar *val = gst_value_serialize (value);
if (val == NULL) {
if (G_VALUE_TYPE (value) == G_TYPE_STRING) {
val = g_strdup ("");
} else {
GST_WARNING_OBJECT (container,
"Could not serialize value for: %s of type %s", meta_item,
G_VALUE_TYPE_NAME (value));
GST_WARNING_OBJECT (container, "Could not set value on item: %s",
meta_item);
g_free (val);
return FALSE;
}
g_free (val);
return FALSE;
}
structure = _meta_container_get_structure (container);
@ -278,8 +273,7 @@ _can_write_value (GESMetaContainer * container, const gchar * item_name,
return TRUE;
if ((static_item->flags & GES_META_WRITABLE) == FALSE) {
GST_WARNING_OBJECT (container, "Can not write %s of type %s", item_name,
g_type_name (type));
GST_WARNING_OBJECT (container, "Can not write %s", item_name);
return FALSE;
}

View File

@ -254,8 +254,7 @@ ges_multi_file_source_class_init (GESMultiFileSourceClass * klass)
*/
g_object_class_install_property (object_class, PROP_URI,
g_param_spec_string ("uri", "URI", "multifile uri",
NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
source_class->create_source = ges_multi_file_source_create_source;
}

View File

@ -541,8 +541,7 @@ ges_project_class_init (GESProjectClass * klass)
* The location of the project to use.
*/
_properties[PROP_URI] = g_param_spec_string ("uri", "URI",
"uri of the project", NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
"uri of the project", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
g_object_class_install_properties (object_class, PROP_LAST, _properties);

View File

@ -315,8 +315,7 @@ ges_test_clip_class_init (GESTestClipClass * klass)
g_param_spec_enum ("vpattern", "VPattern",
"Which video pattern to display. See videotestsrc element",
GES_VIDEO_TEST_PATTERN_TYPE,
DEFAULT_VPATTERN,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
DEFAULT_VPATTERN, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
* GESTestClip:freq:
@ -326,8 +325,7 @@ ges_test_clip_class_init (GESTestClipClass * klass)
g_object_class_install_property (object_class, PROP_FREQ,
g_param_spec_double ("freq", "Audio Frequency",
"The frequency to generate. See audiotestsrc element",
0, 20000, 440,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
0, 20000, 440, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
* GESTestClip:volume:
@ -337,8 +335,7 @@ ges_test_clip_class_init (GESTestClipClass * klass)
g_object_class_install_property (object_class, PROP_VOLUME,
g_param_spec_double ("volume", "Audio Volume",
"The volume of the test audio signal.",
0, 1, DEFAULT_VOLUME,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
0, 1, DEFAULT_VOLUME, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
@ -348,8 +345,7 @@ ges_test_clip_class_init (GESTestClipClass * klass)
*/
g_object_class_install_property (object_class, PROP_MUTE,
g_param_spec_boolean ("mute", "Mute", "Mute audio track",
FALSE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
clip_class->create_track_element = ges_test_clip_create_track_element;
}

View File

@ -168,8 +168,7 @@ ges_text_overlay_clip_class_init (GESTextOverlayClipClass * klass)
g_object_class_install_property (object_class, PROP_TEXT,
g_param_spec_string ("text", "Text", "The text to display",
DEFAULT_PROP_TEXT,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
DEFAULT_PROP_TEXT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
* GESTextOverlayClip:font-desc:
@ -216,8 +215,7 @@ ges_text_overlay_clip_class_init (GESTextOverlayClipClass * klass)
g_object_class_install_property (object_class, PROP_COLOR,
g_param_spec_uint ("color", "Color", "The color of the text",
0, G_MAXUINT32, G_MAXUINT32,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
0, G_MAXUINT32, G_MAXUINT32, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
* GESTextOverlayClip:xpos:
@ -227,8 +225,7 @@ ges_text_overlay_clip_class_init (GESTextOverlayClipClass * klass)
g_object_class_install_property (object_class, PROP_XPOS,
g_param_spec_double ("xpos", "Xpos", "The horizontal position",
0, 1, 0.5,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
0, 1, 0.5, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
* GESTextOverlayClip:ypos:
@ -238,8 +235,7 @@ ges_text_overlay_clip_class_init (GESTextOverlayClipClass * klass)
g_object_class_install_property (object_class, PROP_YPOS,
g_param_spec_double ("ypos", "Ypos", "The vertical position",
0, 1, 0.5,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
0, 1, 0.5, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
}
static void

View File

@ -459,7 +459,7 @@ ges_timeline_element_class_init (GESTimelineElementClass * klass)
properties[PROP_PARENT] =
g_param_spec_object ("parent", "Parent",
"The parent container of the object", GES_TYPE_TIMELINE_ELEMENT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE);
/**
* GESTimelineElement:timeline:
@ -469,7 +469,7 @@ ges_timeline_element_class_init (GESTimelineElementClass * klass)
properties[PROP_TIMELINE] =
g_param_spec_object ("timeline", "Timeline",
"The timeline the object is in", GES_TYPE_TIMELINE,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
/**
* GESTimelineElement:start:
@ -483,7 +483,7 @@ ges_timeline_element_class_init (GESTimelineElementClass * klass)
*/
properties[PROP_START] = g_param_spec_uint64 ("start", "Start",
"The position in the timeline", 0, G_MAXUINT64, 0,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
/**
* GESTimelineElement:in-point: (getter get_inpoint)(setter set_inpoint)
@ -504,8 +504,7 @@ ges_timeline_element_class_init (GESTimelineElementClass * klass)
*/
properties[PROP_INPOINT] =
g_param_spec_uint64 ("in-point", "In-point", "The in-point", 0,
G_MAXUINT64, 0,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
/**
* GESTimelineElement:duration:
@ -520,7 +519,7 @@ ges_timeline_element_class_init (GESTimelineElementClass * klass)
properties[PROP_DURATION] =
g_param_spec_uint64 ("duration", "Duration", "The play duration", 0,
G_MAXUINT64, GST_CLOCK_TIME_NONE,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
/**
* GESTimelineElement:max-duration:
@ -543,8 +542,7 @@ ges_timeline_element_class_init (GESTimelineElementClass * klass)
properties[PROP_MAX_DURATION] =
g_param_spec_uint64 ("max-duration", "Maximum duration",
"The maximum duration of the object", 0, G_MAXUINT64, GST_CLOCK_TIME_NONE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_EXPLICIT_NOTIFY |
G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_EXPLICIT_NOTIFY);
/**
* GESTimelineElement:priority:
@ -554,8 +552,7 @@ ges_timeline_element_class_init (GESTimelineElementClass * klass)
* Deprecated: 1.10: Priority management is now done by GES itself.
*/
properties[PROP_PRIORITY] = g_param_spec_uint ("priority", "Priority",
"The priority of the object", 0, G_MAXUINT, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
"The priority of the object", 0, G_MAXUINT, 0, G_PARAM_READWRITE);
/**
* GESTimelineElement:name:
@ -573,7 +570,7 @@ ges_timeline_element_class_init (GESTimelineElementClass * klass)
*/
properties[PROP_SERIALIZE] = g_param_spec_boolean ("serialize", "Serialize",
"Whether the element should be serialized", TRUE,
G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | GES_PARAM_NO_SERIALIZATION);
g_object_class_install_properties (object_class, PROP_LAST, properties);

View File

@ -629,7 +629,7 @@ ges_timeline_class_init (GESTimelineClass * klass)
properties[PROP_DURATION] =
g_param_spec_uint64 ("duration", "Duration",
"The duration of the timeline", 0, G_MAXUINT64,
GST_CLOCK_TIME_NONE, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
GST_CLOCK_TIME_NONE, G_PARAM_READABLE);
g_object_class_install_property (object_class, PROP_DURATION,
properties[PROP_DURATION]);
@ -643,8 +643,7 @@ ges_timeline_class_init (GESTimelineClass * klass)
*/
g_object_class_install_property (object_class, PROP_AUTO_TRANSITION,
g_param_spec_boolean ("auto-transition", "Auto-Transition",
"whether the transitions are added", FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
"whether the transitions are added", FALSE, G_PARAM_READWRITE));
/**
* GESTimeline:snapping-distance:
@ -657,7 +656,7 @@ ges_timeline_class_init (GESTimelineClass * klass)
properties[PROP_SNAPPING_DISTANCE] =
g_param_spec_uint64 ("snapping-distance", "Snapping distance",
"Distance from which moving an object will snap with neighbours", 0,
G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
G_MAXUINT64, 0, G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_SNAPPING_DISTANCE,
properties[PROP_SNAPPING_DISTANCE]);

View File

@ -152,7 +152,7 @@ ges_title_clip_class_init (GESTitleClipClass * klass)
g_object_class_install_property (object_class, PROP_TEXT,
g_param_spec_string ("text", "Text", "The text to display",
DEFAULT_TEXT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS));
GES_PARAM_NO_SERIALIZATION));
/**
* GESTitleClip:font-desc:
@ -220,7 +220,7 @@ ges_title_clip_class_init (GESTitleClipClass * klass)
g_object_class_install_property (object_class, PROP_COLOR,
g_param_spec_uint ("color", "Color", "The color of the text",
0, G_MAXUINT32, G_MAXUINT32, G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS));
GES_PARAM_NO_SERIALIZATION));
/**
* GESTitleClip:background:
@ -235,8 +235,7 @@ ges_title_clip_class_init (GESTitleClipClass * klass)
g_object_class_install_property (object_class, PROP_BACKGROUND,
g_param_spec_uint ("background", "Background",
"The background of the text", 0, G_MAXUINT32, G_MAXUINT32,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GES_PARAM_NO_SERIALIZATION |
G_PARAM_STATIC_STRINGS));
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | GES_PARAM_NO_SERIALIZATION));
/**
* GESTitleClip:xpos:
@ -251,7 +250,7 @@ ges_title_clip_class_init (GESTitleClipClass * klass)
g_object_class_install_property (object_class, PROP_XPOS,
g_param_spec_double ("xpos", "Xpos", "The horizontal position",
0, 1, 0.5, G_PARAM_READWRITE | G_PARAM_CONSTRUCT
| GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS));
| GES_PARAM_NO_SERIALIZATION));
/**
* GESTitleClip:ypos:
@ -266,7 +265,7 @@ ges_title_clip_class_init (GESTitleClipClass * klass)
g_object_class_install_property (object_class, PROP_YPOS,
g_param_spec_double ("ypos", "Ypos", "The vertical position",
0, 1, 0.5, G_PARAM_READWRITE | G_PARAM_CONSTRUCT
| GES_PARAM_NO_SERIALIZATION | G_PARAM_STATIC_STRINGS));
| GES_PARAM_NO_SERIALIZATION));
}
static void

View File

@ -92,7 +92,7 @@ ges_track_element_asset_class_init (GESTrackElementAssetClass * klass)
properties[PROP_TRACK_TYPE] = g_param_spec_flags ("track-type",
"Track type", "The GESTrackType in which the object is",
GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_UNKNOWN,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
g_object_class_install_property (object_class, PROP_TRACK_TYPE,
properties[PROP_TRACK_TYPE]);

View File

@ -356,7 +356,7 @@ ges_track_element_class_init (GESTrackElementClass * klass)
*/
properties[PROP_ACTIVE] =
g_param_spec_boolean ("active", "Active", "Use object in output", TRUE,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_property (object_class, PROP_ACTIVE,
properties[PROP_ACTIVE]);
@ -371,7 +371,7 @@ ges_track_element_class_init (GESTrackElementClass * klass)
properties[PROP_TRACK_TYPE] = g_param_spec_flags ("track-type", "Track Type",
"The track type of the object", GES_TYPE_TRACK_TYPE,
GES_TRACK_TYPE_UNKNOWN, G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_property (object_class, PROP_TRACK_TYPE,
properties[PROP_TRACK_TYPE]);
@ -382,8 +382,7 @@ ges_track_element_class_init (GESTrackElementClass * klass)
* belong to a track.
*/
properties[PROP_TRACK] = g_param_spec_object ("track", "Track",
"The track the object is in", GES_TYPE_TRACK,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
"The track the object is in", GES_TYPE_TRACK, G_PARAM_READABLE);
g_object_class_install_property (object_class, PROP_TRACK,
properties[PROP_TRACK]);
@ -430,7 +429,7 @@ ges_track_element_class_init (GESTrackElementClass * klass)
properties[PROP_HAS_INTERNAL_SOURCE] =
g_param_spec_boolean ("has-internal-source", "Has Internal Source",
"Whether the element has some internal source of stream data", FALSE,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_property (object_class, PROP_HAS_INTERNAL_SOURCE,
properties[PROP_HAS_INTERNAL_SOURCE]);
@ -453,7 +452,7 @@ ges_track_element_class_init (GESTrackElementClass * klass)
g_param_spec_boolean ("auto-clamp-control-sources",
"Auto-Clamp Control Sources", "Whether to automatically update the "
"control sources with a change in in-point or out-point", TRUE,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_property (object_class,
PROP_AUTO_CLAMP_CONTROL_SOURCES,
properties[PROP_AUTO_CLAMP_CONTROL_SOURCES]);

View File

@ -734,8 +734,7 @@ ges_track_class_init (GESTrackClass * klass)
*/
properties[ARG_CAPS] = g_param_spec_boxed ("caps", "Caps",
"Caps used to choose the output stream",
GST_TYPE_CAPS,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
GST_TYPE_CAPS, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
g_object_class_install_property (object_class, ARG_CAPS,
properties[ARG_CAPS]);
@ -755,7 +754,7 @@ ges_track_class_init (GESTrackClass * klass)
properties[ARG_RESTRICTION_CAPS] =
g_param_spec_boxed ("restriction-caps", "Restriction caps",
"Caps used as a final filter on the output stream", GST_TYPE_CAPS,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE);
g_object_class_install_property (object_class, ARG_RESTRICTION_CAPS,
properties[ARG_RESTRICTION_CAPS]);
@ -770,7 +769,7 @@ ges_track_class_init (GESTrackClass * klass)
* the underlying composition? */
properties[ARG_DURATION] = g_param_spec_uint64 ("duration", "Duration",
"The current duration of the track", 0, G_MAXUINT64, GST_SECOND,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
G_PARAM_READABLE);
g_object_class_install_property (object_class, ARG_DURATION,
properties[ARG_DURATION]);
@ -787,7 +786,7 @@ ges_track_class_init (GESTrackClass * klass)
properties[ARG_TYPE] = g_param_spec_flags ("track-type", "TrackType",
"Type of stream the track outputs",
GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_CUSTOM,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY);
g_object_class_install_property (object_class, ARG_TYPE,
properties[ARG_TYPE]);
@ -802,9 +801,7 @@ ges_track_class_init (GESTrackClass * klass)
*/
properties[ARG_MIXING] = g_param_spec_boolean ("mixing", "Mixing",
"Whether layer mixing is activated on the track or not",
TRUE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_EXPLICIT_NOTIFY |
G_PARAM_STATIC_STRINGS);
TRUE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_property (object_class, ARG_MIXING,
properties[ARG_MIXING]);

View File

@ -284,7 +284,7 @@ ges_transition_clip_class_init (GESTransitionClipClass * klass)
"The SMPTE video wipe to use, or 0 for crossfade",
GES_VIDEO_STANDARD_TRANSITION_TYPE_TYPE,
GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
GES_TIMELINE_ELEMENT_CLASS (klass)->lookup_child = _lookup_child;
container_class->child_added = _child_added;

View File

@ -287,8 +287,7 @@ ges_uri_clip_asset_class_init (GESUriClipAssetClass * klass)
*/
properties[PROP_DURATION] =
g_param_spec_uint64 ("duration", "Duration", "The duration to use", 0,
G_MAXUINT64, GST_CLOCK_TIME_NONE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
G_MAXUINT64, GST_CLOCK_TIME_NONE, G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_DURATION,
properties[PROP_DURATION]);
@ -301,8 +300,7 @@ ges_uri_clip_asset_class_init (GESUriClipAssetClass * klass)
*/
properties[PROP_IS_NESTED_TIMELINE] =
g_param_spec_boolean ("is-nested-timeline", "Is nested timeline",
"Whether this is a nested timeline", FALSE,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
"Whether this is a nested timeline", FALSE, G_PARAM_READABLE);
g_object_class_install_property (object_class, PROP_IS_NESTED_TIMELINE,
properties[PROP_IS_NESTED_TIMELINE]);
@ -332,14 +330,9 @@ _create_uri_source_asset (GESUriClipAsset * asset,
g_strdup (gst_discoverer_stream_info_get_stream_id (sinfo));
if (stream_id == NULL) {
if (type != GES_TRACK_TYPE_UNKNOWN) {
GST_WARNING_OBJECT (asset,
"No stream ID, ignoring stream info: %p off type: %s", sinfo,
ges_track_type_name (type));
} else {
GST_INFO_OBJECT (asset, "No stream ID, ignoring stream info: %p", sinfo);
}
GST_WARNING_OBJECT (asset,
"No stream ID, ignoring stream info: %p off type: %s", sinfo,
ges_track_type_name (type));
return;
}

View File

@ -157,7 +157,7 @@ ges_uri_clip_class_init (GESUriClipClass * klass)
*/
g_object_class_install_property (object_class, PROP_URI,
g_param_spec_string ("uri", "URI", "uri of the resource", NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
/**
* GESUriClip:mute:
@ -166,8 +166,7 @@ ges_uri_clip_class_init (GESUriClipClass * klass)
*/
g_object_class_install_property (object_class, PROP_MUTE,
g_param_spec_boolean ("mute", "Mute", "Mute audio track",
FALSE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/**
* GESUriClip:is-image:
@ -178,8 +177,7 @@ ges_uri_clip_class_init (GESUriClipClass * klass)
g_object_class_install_property (object_class, PROP_IS_IMAGE,
g_param_spec_boolean ("is-image", "Is still image",
"Whether the clip represents a still image or not",
FALSE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
/* Redefine the supported formats property so the default value is UNKNOWN
* and not AUDIO | VIDEO */
@ -187,7 +185,7 @@ ges_uri_clip_class_init (GESUriClipClass * klass)
g_param_spec_flags ("supported-formats",
"Supported formats", "Formats supported by the file",
GES_TYPE_TRACK_TYPE, GES_TRACK_TYPE_UNKNOWN,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
element_class->set_max_duration = uri_clip_set_max_duration;

View File

@ -158,7 +158,7 @@ ges_video_transition_class_init (GESVideoTransitionClass * klass)
*/
properties[PROP_BORDER] =
g_param_spec_uint ("border", "Border", "The border width", 0,
G_MAXUINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
G_MAXUINT, 0, G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_BORDER,
properties[PROP_BORDER]);
@ -172,8 +172,7 @@ ges_video_transition_class_init (GESVideoTransitionClass * klass)
properties[PROP_TRANSITION_TYPE] =
g_param_spec_enum ("transition-type", "Transition type",
"The type of the transition", GES_VIDEO_STANDARD_TRANSITION_TYPE_TYPE,
GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE, G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_TRANSITION_TYPE,
properties[PROP_TRANSITION_TYPE]);
@ -186,8 +185,7 @@ ges_video_transition_class_init (GESVideoTransitionClass * klass)
*/
properties[PROP_INVERT] =
g_param_spec_boolean ("invert", "Invert",
"Whether the transition is inverted", FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
"Whether the transition is inverted", FALSE, G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_INVERT,
properties[PROP_INVERT]);

Some files were not shown because too many files have changed in this diff Show More