GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2021-09-24T13:22:22Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/541videoaggregator: Changing playback rate is broken2021-09-24T13:22:22ZBugzilla Migration Uservideoaggregator: Changing playback rate is broken## Submitted by Thibault Saunier `@thiblahute`
**[Link to original bug (#775102)](https://bugzilla.gnome.org/show_bug.cgi?id=775102)**
## Description
Validate tests: validate.file.glvideomixer.simple.fast_forward.synchronized
Resu...## Submitted by Thibault Saunier `@thiblahute`
**[Link to original bug (#775102)](https://bugzilla.gnome.org/show_bug.cgi?id=775102)**
## Description
Validate tests: validate.file.glvideomixer.simple.fast_forward.synchronized
Result: HARD timeout, last more than 150 secs (this test should last` ~14` seconds (which is the case with compositor))
Failure example: https://ci.gstreamer.net/job/GStreamer-master-meson-validate/268/testReport/junit/validate.file.glvideomixer.simple/fast_forward/synchronized/
Pipeline:
GST_VALIDATE_SCENARIO=fast_forward GST_GL_XINITTHREADS=1 \
gst-validate-1.0 glvideomixer sink_1::alpha=0.5 sink_1::xpos=50 sink_1::ypos=50 name=_mixer ! deinterlace ! videoconvert ! autovideosink videotestsrc pattern=snow timestamp-offset=3000000000 ! 'video/x-raw,format=AYUV,width=640,height=480,framerate=(fraction)30/1' ! timeoverlay ! _mixer. videotestsrc pattern=smpte ! 'video/x-raw,format=AYUV,width=800,height=600,framerate=(fraction)10/1' ! timeoverlay ! _mixer.
I have not investigated but we can see that the pipeline plays very smoothly with compositor but it is very jerky with glvideomixer.1.15.2https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/468event::Tag::tag vs message::Tag::tags2023-05-23T15:41:11ZJan Alexander Steffensevent::Tag::tag vs message::Tag::tagsWe currently have:
```rust
fn event::Tag::tag() -> &TagListRef
fn event::Tag::tag_owned() -> TagList
fn message::Tag::tags() -> TagList
```
Seems a little inconsistent. I think the singular vs plural should be fixed.We currently have:
```rust
fn event::Tag::tag() -> &TagListRef
fn event::Tag::tag_owned() -> TagList
fn message::Tag::tags() -> TagList
```
Seems a little inconsistent. I think the singular vs plural should be fixed.0.21.0https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/339Review all element factory ranks and adjust2023-04-12T09:23:07ZSebastian DrögeReview all element factory ranks and adjustE.g. `ffv1dec` has primary+1 currently and is in front of `avdec_ffv1` although it is incomplete and doesn't support all streams.E.g. `ffv1dec` has primary+1 currently and is in front of `avdec_ffv1` although it is incomplete and doesn't support all streams.0.11https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/121Write README.md for each plugin2023-02-22T09:15:56ZSebastian DrögeWrite README.md for each plugin0.11https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/169Check for all manual bindings if they are listed in the Gir.toml for docs gen...2023-02-10T11:14:06ZSebastian DrögeCheck for all manual bindings if they are listed in the Gir.toml for docs generationSee https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/197See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/1970.21.0https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3415GStreamer 1.24.2 stable bug-fix release tracker2024-03-22T01:28:29ZTim-Philipp Müllertim@centricular.comGStreamer 1.24.2 stable bug-fix release tracker# Milestone 1.24.2
- Milestone 1.24.2 Overview: %1.24.2
- ETA: 01-07 April 2024 (maybe sooner if anything comes up)
# Todo
- [ ] [Merge Requests with `Needs backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requ...# Milestone 1.24.2
- Milestone 1.24.2 Overview: %1.24.2
- ETA: 01-07 April 2024 (maybe sooner if anything comes up)
# Todo
- [ ] [Merge Requests with `Needs backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?scope=all&state=merged&label_name%5B%5D=Needs%20backport¬%5Blabel_name%5D%5B%5D=Backported%20into%201.24)
- [ ] [Issues with `Needs backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/issues?scope=all&utf8=%E2%9C%93&state=all&label_name%5B%5D=Needs%20backport)
- [ ] [Merge Requests with `Maybe backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?scope=all&utf8=%E2%9C%93&state=all&label_name%5B%5D=Maybe%20backport)
- [ ] [Merge Requests with `1.24.2` milestone](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?milestone_title=1.24.2)
- [ ] [Issues with `1.24.2` milestone](https://gitlab.freedesktop.org/groups/gstreamer/-/issues?milestone_title=1.24.2)
- [ ] [Issues with `Security` label](https://gitlab.freedesktop.org/groups/gstreamer/-/issues?scope=all&utf8=%E2%9C%93&state=all&label_name%5B%5D=Security)
- [ ] Blockers / Todo
- nothing so far
# Prep
- [ ] gst-plugins-rs
- [ ] make sure 0.12 branch is up-to-date with regards to backports ( @slomo)
- [ ] update `Cargo.lock` in 0.12 branch (if needed)
- [ ] double-check meson.build version matches Cargo.toml version
- [ ] add `gstreamer-1.24.2` tag pointing to tip of 0.12 branch
- [ ] www: add release note entry and add contributors
- [ ] including gst-plugin-rs fixes perhaps
- [ ] update translations, maybe (also in main, then backport)
# GStreamer
- [ ] MR / commit for release
- [ ] tag release
- [ ] upload tarballs (plus checksums and GPG signatures)
- [ ] back to dev in 1.24 branch
# Cerbero
- [ ] pending merge requests: https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests?scope=all&state=opened&target_branch=1.24
- [ ] [cerbero issues with 1.24.2 milestone](https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/?sort=created_date&state=opened&milestone_title=1.24.2&first_page_size=100)
- [ ] build 1.24.2 tag
- [ ] binaries
- [ ] Windows x86 MinGW + MSVC ( @nirbheek)
- [ ] Windows x86_64 MinGW + MSVC ( @nirbheek)
- [ ] Android
- [ ] macOS ( @ystreet)
- [ ] iOS ( @ystreet)
- [ ] source bundle
- [ ] check for sha265sums for binaries
- [ ] check for GPG signatures for binaries
- [ ] tag cerbero ( @tpm)
- [ ] build 1.24 branch again
- [ ] update download section on website
- [ ] announce binaries (twitter, discourse, gstreamer-devel)
# Announce
- [ ] Discourse
- [ ] Website: news item + release notes
- [ ] Twitter ( @tpm)
- [ ] Mastodon ( @slomo)
- [ ] IRC channel topic
- [ ] Mailing lists
# Post release
- [ ] Add 1.24.3 milestone
- [ ] Add 1.24.3 tracker issue1.24.2Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.com2024-04-02https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3354va: radeonsi: DRM RGB formats doesn't look correctly mapped to VA formats2024-03-21T11:46:48ZVíctor Manuel Jáquez Lealva: radeonsi: DRM RGB formats doesn't look correctly mapped to VA formatsFrom the matrix channel:
> robert.mader
>
> Hm, is it just me or does vapostproc on AMD really only support RGB formats that the same Mesa driver does not support for texturing (it supports e.g. DRM BA24 while EGL only supports AB24)? H...From the matrix channel:
> robert.mader
>
> Hm, is it just me or does vapostproc on AMD really only support RGB formats that the same Mesa driver does not support for texturing (it supports e.g. DRM BA24 while EGL only supports AB24)? Has > anyone recall such issues with va on AMD?1.24.2https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3404GStreamer 1.22.12 old-stable bug-fix release tracker2024-03-19T22:40:13ZTim-Philipp Müllertim@centricular.comGStreamer 1.22.12 old-stable bug-fix release tracker# Milestone 1.22.12
- Milestone 1.22.12 Overview: %1.22.12
- ETA: 15-30 April 2024 (or sooner if anything comes up)
# Todo
- [ ] [Merge Requests with `Needs backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requ...# Milestone 1.22.12
- Milestone 1.22.12 Overview: %1.22.12
- ETA: 15-30 April 2024 (or sooner if anything comes up)
# Todo
- [ ] [Merge Requests with `Needs backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?scope=all&state=merged&label_name%5B%5D=Needs%20backport¬%5Blabel_name%5D%5B%5D=Backported%20into%201.22)
- [ ] [Issues with `Needs backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/issues?scope=all&utf8=%E2%9C%93&state=all&label_name%5B%5D=Needs%20backport)
- [ ] [Merge Requests with `Maybe backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?scope=all&utf8=%E2%9C%93&state=all&label_name%5B%5D=Maybe%20backport)
- [ ] [Merge Requests with `1.22.12` milestone](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?milestone_title=1.22.12)
- [ ] [Issues with `1.22.12` milestone](https://gitlab.freedesktop.org/groups/gstreamer/-/issues?milestone_title=1.22.12)
- [ ] [Issues with `Security` label](https://gitlab.freedesktop.org/groups/gstreamer/-/issues?scope=all&utf8=%E2%9C%93&state=all&label_name%5B%5D=Security)
- [ ] Blockers / Todo
- [ ] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2996 (png 16-bit crasher) would be nice to fix
# Prep
- [ ] gst-plugins-rs
- [ ] make sure 0.9 branch is up-to-date with regards to backports ( @slomo)
- [ ] update `Cargo.lock` in 0.9 branch (if needed)
- [ ] double-check meson.build version matches Cargo.toml version
- [ ] add `gstreamer-1.22.12` tag pointing to tip of 0.9 branch
- [ ] www: add release note entry and add contributors
- [ ] including gst-plugin-rs fixes perhaps
- [~] update translations (also in main, then backport)
# GStreamer
- [ ] MR / commit for release
- [ ] tag release
- [ ] upload tarballs (plus checksums and GPG signatures)
- [ ] back to dev in 1.22 branch
# Cerbero
- [ ] pending merge requests: https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests?scope=all&state=opened&target_branch=1.22
- [ ] [cerbero issues with 1.22.12 milestone](https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/?sort=created_date&state=opened&milestone_title=1.22.12&first_page_size=100)
- [ ] build 1.22.12 tag
- [ ] binaries
- [ ] Windows x86 MinGW + MSVC ( @nirbheek)
- [ ] Windows x86_64 MinGW + MSVC ( @nirbheek)
- [~] Windows UWP release-crt + debug-crt
- [ ] Android ( @thaytan)
- [ ] macOS ( @ystreet)
- [ ] iOS ( @ystreet)
- [ ] source bundle ( @thaytan)
- [ ] check for sha265sums for binaries
- [ ] check for GPG signatures for binaries
- [ ] tag cerbero ( @tpm)
- [ ] build 1.22 branch again
- [ ] update download section on website
- [ ] announce binaries (twitter, discourse, gstreamer-devel)
# Announce
- [ ] Mailing lists
- [ ] Website: news item + release notes
- [ ] Twitter ( @tpm)
- [ ] Mastodon ( @slomo)
- [ ] IRC channel topic
- [ ] Discourse
# Post release
- [ ] Add 1.22.13 milestone
- [ ] Add 1.22.13 tracker issuee1.22.12Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.com2024-04-30https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/524Meson: GStreamer 1.24.0 static build fails in gstreamer-plugins-rs because of...2024-03-28T09:00:36ZSeungmin KimMeson: GStreamer 1.24.0 static build fails in gstreamer-plugins-rs because of LTO issuesDevelopers: @dabrain34 @slomo
Build pipeline: https://github.com/selkies-project/selkies-gstreamer/blob/main/addons/gstreamer/Dockerfile
The Meson setup was changed to:
```
meson setup --prefix /opt/gstreamer -Dbuildtype=release --def...Developers: @dabrain34 @slomo
Build pipeline: https://github.com/selkies-project/selkies-gstreamer/blob/main/addons/gstreamer/Dockerfile
The Meson setup was changed to:
```
meson setup --prefix /opt/gstreamer -Dbuildtype=release --default-library=static -Dgstreamer-1.0:gst-full-target-type=static_library -Dpython=enabled -Drs=enabled -Dgpl=enabled -Dbad=enabled -Dugly=enabled -Dlibav=enabled -Dgst-plugins-bad:qsv=enabled -Dgst-plugins-bad:va=enabled -Dgst-plugins-bad:openh264=enabled -Dgst-plugins-ugly:x264=enabled -Ddevtools=disabled -Ddoc=disabled -Dexamples=disabled -Dtests=disabled builddir
```
Logs:
`--default-library=static -Dgstreamer-1.0:gst-full-target-type=shared_library`: https://pastebin.com/raw/3H6Z7KwQ
`--default-library=static -Dgstreamer-1.0:gst-full-target-type=static_library`: https://pastebin.com/raw/BPbNSw5j
@slomo commented:
```
so yes, that's a rust problem but i was under the impression that this was worked around somehow in gstreamer-full too. cerbero has a workaround for it in any case
https://github.com/rust-lang/rust/issues/44322
```https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/issues/42Make b_lto work with libav/FFmpeg again in 1.24.x2024-03-28T08:52:16ZSeungmin KimMake b_lto work with libav/FFmpeg again in 1.24.xThe below occurs on any shared (not static) build compiling FFmpeg while using `-Db_lto=true` (was not the case in GStreamer 1.22.x):
```
[5823/5825] Generating subprojects/gst-plugins-rs/gst-plugins-rs-pc-files with a custom command
[5...The below occurs on any shared (not static) build compiling FFmpeg while using `-Db_lto=true` (was not the case in GStreamer 1.22.x):
```
[5823/5825] Generating subprojects/gst-plugins-rs/gst-plugins-rs-pc-files with a custom command
[5825/5825] Linking target subprojects/gst-libav/ext/libav/libgstlibav.so
FAILED: subprojects/gst-libav/ext/libav/libgstlibav.so
cc -o subprojects/gst-libav/ext/libav/libgstlibav.so subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstav.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavprotocol.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavcodecmap.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavutils.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavaudenc.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavvidenc.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavauddec.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavviddec.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavcfg.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavdemux.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavmux.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavdeinterlace.c.o subprojects/gst-libav/ext/libav/libgstlibav.so.p/gstavvidcmp.c.o -flto -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,-soname,libgstlibav.so -Wl,-z,nodelete -Wl,--exclude-libs=ALL '-Wl,-rpath,$ORIGIN/../../../gstreamer/gst:$ORIGIN/../../../gstreamer/libs/gst/base:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/video:$ORIGIN/../../../orc/orc:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/audio:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/tag:$ORIGIN/../../../gst-plugins-base/gst-libs/gst/pbutils' -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gstreamer/gst -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gstreamer/libs/gst/base -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gst-plugins-base/gst-libs/gst/video -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/orc/orc -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gst-plugins-base/gst-libs/gst/audio -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gst-plugins-base/gst-libs/gst/tag -Wl,-rpath-link,/tmp/gstreamer/builddir/subprojects/gst-plugins-base/gst-libs/gst/pbutils -Wl,--start-group subprojects/FFmpeg/libavfilter.a subprojects/FFmpeg/libavutil.a subprojects/FFmpeg/libavformat.a subprojects/FFmpeg/libavcodec.a subprojects/FFmpeg/libswresample.a subprojects/FFmpeg/libswscale.a subprojects/FFmpeg/libpostproc.a subprojects/gstreamer/gst/libgstreamer-1.0.so.0.2400.0 subprojects/gstreamer/libs/gst/base/libgstbase-1.0.so.0.2400.0 subprojects/gst-plugins-base/gst-libs/gst/video/libgstvideo-1.0.so.0.2400.0 subprojects/orc/orc/liborc-0.4.so.0.37.0 subprojects/gst-plugins-base/gst-libs/gst/audio/libgstaudio-1.0.so.0.2400.0 subprojects/gst-plugins-base/gst-libs/gst/tag/libgsttag-1.0.so.0.2400.0 subprojects/gst-plugins-base/gst-libs/gst/pbutils/libgstpbutils-1.0.so.0.2400.0 -pthread -lm -latomic -lz -lbz2 -ldl /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/x86_64-linux-gnu/libgobject-2.0.so /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so /usr/lib/x86_64-linux-gnu/libz.so -latomic -lz -lbz2 -latomic -latomic -lz -lbz2 -latomic -lz -latomic -latomic -latomic -Wl,--end-group
../subprojects/FFmpeg/libswscale/x86/rgb2rgb_template.c:1821:6: warning: type of ‘ff_nv12ToUV_avx’ does not match original declaration [-Wlto-type-mismatch]
1821 | void RENAME(ff_nv12ToUV)(uint8_t *dstU, uint8_t *dstV,
| ^
../subprojects/FFmpeg/libswscale/x86/swscale.c:323:1: note: type mismatch in parameter 8
323 | INPUT_FUNCS(avx);
| ^
../subprojects/FFmpeg/libswscale/x86/swscale.c:323:1: note: ‘ff_nv12ToUV_avx’ was previously declared here
../subprojects/FFmpeg/libswscale/x86/rgb2rgb_template.c:1821:6: warning: type of ‘ff_nv12ToUV_sse2’ does not match original declaration [-Wlto-type-mismatch]
1821 | void RENAME(ff_nv12ToUV)(uint8_t *dstU, uint8_t *dstV,
| ^
../subprojects/FFmpeg/libswscale/x86/swscale.c:321:1: note: type mismatch in parameter 8
321 | INPUT_FUNCS(sse2);
| ^
../subprojects/FFmpeg/libswscale/x86/swscale.c:321:1: note: ‘ff_nv12ToUV_sse2’ was previously declared here
/usr/bin/ld: subprojects/FFmpeg/libavutil.a(tx_float.asm.o): relocation R_X86_64_PC32 against symbol `ff_tx_tab_32_float' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
```
Build pipeline:
https://github.com/selkies-project/selkies-gstreamer/blob/main/addons/gstreamer/Dockerfilehttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3428d3d plugin cross compile issue (1.24.1)2024-03-27T19:02:22ZNicolad3d plugin cross compile issue (1.24.1)Hello,
while trying to build bad plugins 1.24.1 from ArchLinux I found the following issues:
- `#include <DirectXMath.h>` should be `#include <directxmath.h>`
- after fixing the above error I have another build error
```
FAILED: gst-l...Hello,
while trying to build bad plugins 1.24.1 from ArchLinux I found the following issues:
- `#include <DirectXMath.h>` should be `#include <directxmath.h>`
- after fixing the above error I have another build error
```
FAILED: gst-libs/gst/d3d11/libgstd3d11-1.0-0.dll.p/gstd3d11converter.cpp.obj
i686-w64-mingw32-g++ -Igst-libs/gst/d3d11/libgstd3d11-1.0-0.dll.p -Igst-libs/gst/d3d11 -I../gst-libs/gst/d3d11 -I. -I.. -Igst-libs -I../gst-libs -I/usr/i686-w64-mingw32/include/gstreamer-1.0 -I/usr/i686-w64-mingw32/include -I/usr/i686-w64-mingw32/include/glib-2.0 -I/usr/i686-w64-mingw32/lib/glib-2.0/include -I/usr/i686-w64-mingw32/include/orc-0.4 -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -Wno-non-virtual-dtor -fvisibility=hidden -fno-strict-aliasing -Wformat-nonliteral -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -D_FORTIFY_SOURCE=2 -D_GLIBCXX_ASSERTIONS -O2 -pipe -fno-plt -fexceptions --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fcf-protection -mms-bitfields -mms-bitfields -mms-bitfields -DHAVE_CONFIG_H -DGST_USE_UNSTABLE_API -DBUILDING_GST_D3D11 '-DG_LOG_DOMAIN="GStreamer-D3D11"' -Wno-redundant-decls -MD -MQ gst-libs/gst/d3d11/libgstd3d11-1.0-0.dll.p/gstd3d11converter.cpp.obj -MF gst-libs/gst/d3d11/libgstd3d11-1.0-0.dll.p/gstd3d11converter.cpp.obj.d -o gst-libs/gst/d3d11/libgstd3d11-1.0-0.dll.p/gstd3d11converter.cpp.obj -c ../gst-libs/gst/d3d11/gstd3d11converter.cpp
../gst-libs/gst/d3d11/gstd3d11converter.cpp: In function ‘gboolean gst_d3d11_converter_apply_transform(GstD3D11Converter*, GstVideoOrientationMethod, gfloat, gfloat, gfloat, gboolean, gfloat, gfloat, gfloat, gfloat, gfloat)’:
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3183:3: error: ‘XMMATRIX’ was not declared in this scope
3183 | XMMATRIX rotate_matrix = XMMatrixIdentity ();
| ^~~~~~~~
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3192:7: error: ‘rotate_matrix’ was not declared in this scope
3192 | rotate_matrix = XMLoadFloat4x4A (&g_matrix_90r);
| ^~~~~~~~~~~~~
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3192:23: error: ‘XMLoadFloat4x4A’ was not declared in this scope
3192 | rotate_matrix = XMLoadFloat4x4A (&g_matrix_90r);
| ^~~~~~~~~~~~~~~
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3224:11: error: expected ‘;’ before ‘scale’
3224 | XMMATRIX scale = XMMatrixScaling (scale_x * aspect_ratio, scale_y, 1.0);
| ^~~~~~
| ;
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3226:11: error: expected ‘;’ before ‘rotate’
3226 | XMMATRIX rotate =
| ^~~~~~~
| ;
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3231:11: error: expected ‘;’ before ‘view’
3231 | XMMATRIX view = XMMatrixLookAtLH (XMVectorSet (0.0, 0.0, -1.0, 0.0),
| ^~~~~
| ;
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3234:11: error: expected ‘;’ before ‘proj’
3234 | XMMATRIX proj;
| ^~~~~
| ;
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3236:5: error: ‘proj’ was not declared in this scope
3236 | proj = XMMatrixOrthographicOffCenterLH (-aspect_ratio,
| ^~~~
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3236:12: error: ‘XMMatrixOrthographicOffCenterLH’ was not declared in this scope
3236 | proj = XMMatrixOrthographicOffCenterLH (-aspect_ratio,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3239:5: error: ‘proj’ was not declared in this scope
3239 | proj = XMMatrixPerspectiveFovLH (XMConvertToRadians (fov),
| ^~~~
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3239:38: error: ‘XMConvertToRadians’ was not declared in this scope
3239 | proj = XMMatrixPerspectiveFovLH (XMConvertToRadians (fov),
| ^~~~~~~~~~~~~~~~~~
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3239:12: error: ‘XMMatrixPerspectiveFovLH’ was not declared in this scope
3239 | proj = XMMatrixPerspectiveFovLH (XMConvertToRadians (fov),
| ^~~~~~~~~~~~~~~~~~~~~~~~
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3243:11: error: expected ‘;’ before ‘mvp’
3243 | XMMATRIX mvp = scale * rotate * view * proj * rotate_matrix;
| ^~~~
| ;
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3244:46: error: ‘mvp’ was not declared in this scope
3244 | XMStoreFloat4x4A (&priv->custom_transform, mvp);
| ^~~
../gst-libs/gst/d3d11/gstd3d11converter.cpp:3244:3: error: ‘XMStoreFloat4x4A’ was not declared in this scope
3244 | XMStoreFloat4x4A (&priv->custom_transform, mvp);
| ^~~~~~~~~~~~~~~~
[62/1037] Compiling C++ object gst-libs/gst/d3d11/libgstd3d11-1.0-0.dll.p/gstd3d11converter-helper.cpp.obj
[63/1037] Compiling C++ object gst-libs/gst/cuda/libgstcuda-1.0-0.dll.p/gstcudabufferpool.cpp.obj
[64/1037] Compiling C++ object gst-libs/gst/cuda/libgstcuda-1.0-0.dll.p/gstcudaloader.cpp.obj
[65/1037] Compiling C++ object gst-libs/gst/cuda/libgstcuda-1.0-0.dll.p/gstcudacontext.cpp.obj
[66/1037] Compiling C++ object gst-libs/gst/d3d11/libgstd3d11-1.0-0.dll.p/gstd3d11memory.cpp.obj
ninja: build stopped: subcommand failed.
```
some relevant meson output
```
Library d3d11 found: YES
Library dxgi found: YES
Library d3dcompiler found: YES
Library runtimeobject found: YES
Has header "d3d11_4.h" : YES
Has header "dxgi1_6.h" : YES
Has header "d3dcompiler.h" : YES
Checking if "building for Win32" with dependencies -ld3d11, -ldxgi compiles: YES
Checking if "building for WinRT" with dependencies -ld3d11, -ldxgi, -lruntimeobject compiles: NO
Message: Disable D3D11Debug and DXGIDebug layers
Compiler for C supports arguments -Wno-redundant-decls: YES
Program fxc found: NO
Checking if "DirectXMath support in Windows SDK" compiles: NO
Run-time dependency directxmath found: NO (tried pkgconfig and cmake)
Configuring gstd3d11config.h using configuration
Has header "initguid.h" : YES
Has header "d3d11.h" : YES
Has header "dxgi.h" : YES
Library advapi32 found: YES
Compiler for C supports arguments -Wno-redundant-decls: YES (cached)
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
```
For now I don't have time to delve further, any suggestions are appreciated. Thank youhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3427vavp9enc: some resolutions fails to encode using CQP2024-03-28T00:14:04ZVíctor Manuel Jáquez Lealvavp9enc: some resolutions fails to encode using CQPUsing iHD driver version 24.1.3 (libva 2.21) on Alder Lake
This pipeline fails:
```
gst-launch-1.0 videotestsrc pattern=1 ! video/x-raw, format=NV12, width=640, height=480 ! vavp9lpenc rate-control=cqp ! fakesink
```
with these logs
...Using iHD driver version 24.1.3 (libva 2.21) on Alder Lake
This pipeline fails:
```
gst-launch-1.0 videotestsrc pattern=1 ! video/x-raw, format=NV12, width=640, height=480 ! vavp9lpenc rate-control=cqp ! fakesink
```
with these logs
```
0:00:00.106913809 88845 0x7f9f4c000b90 DEBUG vabaseenc gstvabaseenc.c:371:gst_va_base_enc_copy_output_data:<vavp9lpenc0> Not enough space for coded data
0:00:00.106927139 88845 0x7f9f4c000b90 ERROR vavp9enc gstvavp9enc.c:2544:_vp9_create_super_frame_output_buffer:<vavp9lpenc0> Fails to copy the output data of system_frame_number 1, frame_num: 1
0:00:00.106931294 88845 0x7f9f4c000b90 ERROR vavp9enc gstvavp9enc.c:2660:gst_va_vp9_enc_prepare_output:<vavp9lpenc0> Failed to create output buffer
0:00:00.106933608 88845 0x7f9f4c000b90 ERROR vabaseenc gstvabaseenc.c:466:_push_buffer_to_downstream:<vavp9lpenc0> Failed to prepare output
0:00:00.106954914 88845 0x7f9f4c000b90 DEBUG vabaseenc gstvabaseenc.c:513:_push_out_one_buffer:<vavp9lpenc0> fails to push one buffer, system_frame_number 1: error
```
cc: @He_Junyanhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3426switchbin doesn't negotiate requested resolution from webcam2024-03-27T18:04:49ZSergei Ilinykhswitchbin doesn't negotiate requested resolution from webcam### Describe your issue
I'm a somewhat puzzled on how switchbin element does negotiation.
Below are minimal examples just for the problem demonstration. Real life code will include more paths to switchbin.
# Next 3 work well
gs...### Describe your issue
I'm a somewhat puzzled on how switchbin element does negotiation.
Below are minimal examples just for the problem demonstration. Real life code will include more paths to switchbin.
# Next 3 work well
gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=1280,height=720" ! jpegdec ! videoconvert ! autovideosink
gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=320,height=240" ! jpegdec ! videoconvert ! autovideosink
gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=1280,height=720" path0::element="jpegdec" ! videoconvert ! autovideosink
# but the next one doesn't work
gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=320,height=240" path0::element="jpegdec" ! videoconvert ! autovideosink
I can't explain why. But according to the log the failing sample just took the first available caps from v4l2src, which is `image/jpeg, width=1280, height=720, framerate=30/1` and didn't even try to negotiate with any other, regardless v4l2src also declares `image/jpeg, width=320, height=240, framerate=30/1`.
Looks like a bug.
#### Expected Behavior
Requested resolution is negotiated
#### Observed Behavior
<!-- What actually happened -->
#### Setup
- **Operating System:** Gentoo
- **Device:** Laptop MSI GL75 9SDK
- **GStreamer Version:** 1.22.3
- **Command line:** ? bash/konsole
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. open terminal
2. type `gst-launch-1.0 -v v4l2src device=/dev/video0 ! switchbin num-paths=1 path0::caps="image/jpeg,with=320,height=240" path0::element="jpegdec" ! videoconvert ! autovideosink`
### Additional Information
The command above opens a window with single static frame for less than a second and closes immediately.
<!-- Any other information such as logs. Make use of <details> for long output -->
```
0:00:00.674750199 373216 0x7f7428000d10 INFO GST_STATES gstelement.c:2716:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.674894259 373216 0x55ce4cadf330 INFO bin gstbin.c:2767:gst_bin_do_latency_func:<pipeline0> configured latency of 0:00:00.048333333
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0: crop-bounds = < (int)0, (int)0, (int)424, (int)240 >
0:00:00.687233331 373216 0x7f7428000b70 INFO v4l2src gstv4l2src.c:854:gst_v4l2src_negotiate:<v4l2src0> fixated to: image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1
0:00:00.687266699 373216 0x7f7428000b70 INFO GST_EVENT gstevent.c:918:gst_event_new_caps: creating caps event image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1
0:00:00.687322122 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:00.687337726 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:00.687343283 373216 0x7f7428000b70 WARN GST_PADS gstpad.c:4361:gst_pad_peer_query:<v4l2src0:src> could not send sticky events
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1
0:00:00.688144772 373216 0x7f7428000b70 WARN v4l2 gstv4l2object.c:4440:gst_v4l2_object_set_crop:<v4l2src0:src> VIDIOC_S_CROP failed
0:00:00.712830318 373216 0x7f7428000b70 INFO v4l2 gstv4l2object.c:4035:gst_v4l2_object_set_format_full:<v4l2src0:src> Set capture framerate to 30/1
0:00:00.712850244 373216 0x7f7428000b70 WARN v4l2 gstv4l2object.c:3258:gst_v4l2_object_reset_compose_region:<v4l2src0:src> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Недопустимый аргумент
0:00:00.712855689 373216 0x7f7428000b70 INFO v4l2 gstv4l2object.c:3194:gst_v4l2_object_setup_pool:<v4l2src0:src> accessing buffers via mode 4
0:00:00.712924496 373216 0x7f7428000b70 INFO v4l2bufferpool gstv4l2bufferpool.c:586:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool1:src> increasing minimum buffers to 2
0:00:00.712929207 373216 0x7f7428000b70 INFO v4l2bufferpool gstv4l2bufferpool.c:599:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool1:src> reducing maximum buffers to 32
0:00:00.712952484 373216 0x7f7428000b70 INFO v4l2bufferpool gstv4l2bufferpool.c:599:gst_v4l2_buffer_pool_set_config:<v4l2src0:pool1:src> reducing maximum buffers to 32
0:00:00.713605268 373216 0x7f7428000b70 WARN v4l2bufferpool gstv4l2bufferpool.c:848:gst_v4l2_buffer_pool_start:<v4l2src0:pool1:src> Uncertain or not enough buffers, enabling copy threshold
0:00:01.128822853 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:01.128907610 373216 0x7f7428000b70 WARN basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.
0:00:01.128928899 373216 0x7f7428000b70 WARN basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)
0:00:01.128965241 373216 0x7f7428000b70 INFO GST_ERROR_SYSTEM gstelement.c:2281:gst_element_message_full_with_details:<v4l2src0> posting message: Internal data stream error.
ОШИБКА: из элемента /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Дополнительная отладочная информация:
../gstreamer-1.22.3/libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
0:00:01.129116749 373216 0x7f7428000b70 INFO GST_ERROR_SYSTEM gstelement.c:2308:gst_element_message_full_with_details:<v4l2src0> posted error message: Internal data stream error.
0:00:01.129170285 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:01.129208187 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)true, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
0:00:01.129260135 373216 0x7f7428000b70 WARN GST_CAPS gstpad.c:5787:pre_eventfunc_check:<switchbin0:sink> caps image/jpeg, width=(int)1280, height=(int)720, framerate=(fraction)30/1, parsed=(boolean)truExecution ended after 0:00:00.997273841
e, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 not accepted
Установка конвейера в состояние NULL…
0:00:01.129366704 373216 0x55ce4cadf330 INFO GST_STATES gstbin.c:2480:gst_bin_element_set_state:<autovideosink0> current PLAYING pending VOID_PENDING, desired next PAUSED
```
```
name : HD Webcam (V4L2)
class : Video/Source
caps : image/jpeg, width=1280, height=720, framerate=30/1
image/jpeg, width=320, height=180, framerate=30/1
image/jpeg, width=320, height=240, framerate=30/1
image/jpeg, width=352, height=288, framerate=30/1
image/jpeg, width=424, height=240, framerate=30/1
image/jpeg, width=640, height=360, framerate=30/1
image/jpeg, width=640, height=480, framerate=30/1
image/jpeg, width=848, height=480, framerate=30/1
image/jpeg, width=960, height=540, framerate=30/1
video/x-raw, format=YUY2, width=1280, height=720, framerate=10/1
video/x-raw, format=YUY2, width=320, height=180, framerate=30/1
video/x-raw, format=YUY2, width=320, height=240, framerate=30/1
video/x-raw, format=YUY2, width=352, height=288, framerate=30/1
video/x-raw, format=YUY2, width=424, height=240, framerate=30/1
video/x-raw, format=YUY2, width=640, height=360, framerate=30/1
video/x-raw, format=YUY2, width=640, height=480, framerate=30/1
video/x-raw, format=YUY2, width=848, height=480, framerate=20/1
video/x-raw, format=YUY2, width=960, height=540, framerate=15/1
properties:
api.v4l2.cap.bus_info = usb-0000:00:14.0-13
api.v4l2.cap.capabilities = 84a00001
api.v4l2.cap.card = HD Webcam: HD Webcam
api.v4l2.cap.device-caps = 04200001
api.v4l2.cap.driver = uvcvideo
api.v4l2.cap.version = 6.8.1
api.v4l2.path = /dev/video0
device.api = v4l2
device.devids = 20736
device.id = 41
device.product.id = 0x211
device.vendor.id = 0x598
factory.name = api.v4l2.source
media.class = Video/Source
node.description = HD Webcam (V4L2)
node.name = v4l2_input.pci-0000_00_14.0-usb-0_13_1.0
node.nick = HD Webcam
node.pause-on-idle = false
object.path = v4l2:/dev/video0
priority.session = 1000
factory.id = 10
client.id = 34
clock.quantum-limit = 8192
media.role = Camera
node.driver = true
object.id = 45
object.serial = 45
gst-launch-1.0 pipewiresrc target-object=45 ! ...
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3425vtdec: Fails to decode some kinds of 10bit HDR footage2024-03-26T14:58:26ZPiotr Brzezińskivtdec: Fails to decode some kinds of 10bit HDR footageWhen testing a [HDR10 60fps 4K test clip](https://drive.google.com/file/d/1Ic9DZXMSo07EJMqCFaQRKSSrSw6y1mYv/view?usp=sharing) from the [Kodi samples library](https://kodi.wiki/view/Samples), `vtdec` fails to play it completely.
The erro...When testing a [HDR10 60fps 4K test clip](https://drive.google.com/file/d/1Ic9DZXMSo07EJMqCFaQRKSSrSw6y1mYv/view?usp=sharing) from the [Kodi samples library](https://kodi.wiki/view/Samples), `vtdec` fails to play it completely.
The error message is as follows:
```
0:00:00.667358334 71926 0x600003f4ad90 ERROR vtdec vtdec.c:1218:gst_vtdec_session_output_callback:<vtdechw0> Error decoding frame -17694
```
which indicates `kVTVideoDecoderReferenceMissingErr`. It's not a critical error, and should ideally be worked around instead of aborting completely. It's of course hard to find any documentation about this error, but VLC for example only [restarts the encoding session](https://code.videolan.org/videolan/vlc/-/blob/master/modules/codec/videotoolbox/decoder.c#L1751) when this error is encountered.
It's not clear why and when this error can be expected, it definitely doesn't happen for all kinds of HDR 10bit footage (a quick recording of similar kind from a relatively modern iPhone has no issues being played back), but that's the only case where I was able to reproduce it.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3424rtspsrc retrieves frames from another multicast stream2024-03-26T12:31:12Zrobin-blanchardrtspsrc retrieves frames from another multicast stream### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
I am currently in the process of bumping GStreamer to 1.22.9 in my solution. When using an rtspsrc pipeline to a multicast stream, the frames I recei...### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
I am currently in the process of bumping GStreamer to 1.22.9 in my solution. When using an rtspsrc pipeline to a multicast stream, the frames I receive are from another multicast stream. Both streams come from the same media gateway.
<!-- For any GStreamer usage questions or application development support
please head over to our new GStreamer Discourse forum at
https://discourse.gstreamer.org/ instead, or find us on
the GStreamer Matrix room at https://matrix.to/#/#gstreamer:gstreamer.org -->
#### Expected Behavior
<!-- What did you expect to happen -->
I expected both pipelines to retrieve frames from the corresponding stream. The pipelines are:
`/usr/bin/gst-launch-1.0 rtspsrc location=$RTSP latency=20000 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! jpegenc ! multifilesink location="frame%05d.jpg"` with `RTSP` being the RTSP link.
#### Observed Behavior
<!-- What actually happened -->
The pipeline running on `rtsp://A.B.C.D:1234/camera01` corrrectly works.
The pipeline running on `rtsp://A.B.C.D:1234/camera02` retrieves frames from the `camera01` stream.
#### Setup
- **Operating System:** Linux
- **Device:** Docker container <!-- Delete as appropriate !-->
- **GStreamer Version:** 1.22.9
- **Command line:** `/usr/bin/gst-launch-1.0 rtspsrc location=$RTSP latency=20000 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! jpegenc ! multifilesink location="frame%05d.jpg"`
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
Here's the Dockerfile used to build GStreamer:
```
# Taken from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3202
FROM ubuntu:22.04
# Setting bash as the default shell in this container
SHELL ["/bin/bash", "-c"]
# Environment variable to configure timezone
ENV TZ=Etc/UTC \
GSTREAMER_VERSION=1.22.9
WORKDIR /tmp/workdir
RUN apt update \
&& apt install -y tzdata \
&& rm -rf /var/lib/apt/lists/*
RUN apt update \
&& apt install -y \
autoconf \
build-essential \
cmake \
curl \
dvb-apps \
fonts-open-sans \
g++ \
git \
liba52-0.7.4-dev \
libaom-dev \
libasound2-dev \
libass-dev \
libavc1394-dev \
libavcodec-dev \
libavdevice-dev \
libavformat-dev \
libavutil-dev \
libcdio-cdda-dev \
libcdio-dev \
libcdio-paranoia-dev \
libdrm-dev \
libfaad-dev \
libfdk-aac-dev \
libfreetype6-dev \
libgl1-mesa-dev \
libiec61883-dev \
libjack-dev \
libjpeg62-dev \
libmad0-dev \
libmp3lame-dev \
libogg-dev \
libopenal-dev \
libopencore-amrnb-dev \
libopencore-amrwb-dev \
libopus-dev \
libpng-dev \
libpulse-dev \
libraw1394-dev \
librtmp-dev \
libsdl2-dev \
libsoup2.4-dev \
libsrt-openssl-dev \
libssl-dev \
libswscale-dev \
libtheora-dev \
libtool \
libvorbis-dev \
libvpx-dev \
libwebp-dev \
libx264-dev \
libx265-dev \
libxcb-shape0-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
libxv-dev \
libxvidcore-dev \
mesa-utils \
pkg-config \
scons \
wget \
x11proto-gl-dev \
x11proto-video-dev \
yasm \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
ENV LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64
RUN apt update \
&& apt remove -y \
meson \
&& apt install -y \
python3-pip \
flex \
bison \
&& python3 -m pip install meson ninja tomli \
&& rm -rf /var/lib/apt/lists/*
###################################################################################################
# GStreamer clone
RUN git clone --depth 1 --branch ${GSTREAMER_VERSION} https://github.com/GStreamer/gstreamer.git
# GStreamer build
RUN cd /tmp/workdir/gstreamer \
&& meson setup --wipe \
-Dlibav=enabled \
-Dgood=enabled \
-Dbad=enabled \
-Dugly=enabled \
-Dgpl=enabled \
--buildtype release \
builddir \
&& meson compile -C builddir \
&& cd builddir \
&& meson install \
&& ldconfig \
&& cd /tmp/workdir \
&& rm -rf gstreamer
```
Build the image and run a container with `--network host` to access multicast streams.
Running the gst-launch command on both streams should reproduce the bug.
### How reproducible is the bug?
Always once we're in such a setup
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->
With GStreamer 1.18.4, there is no such problemhttps://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/474@rpath issues while linking 1.24 on macOS2024-03-27T18:40:36Ztomaszmi@rpath issues while linking 1.24 on macOS### Describe your issue
I'm observing weird warnings at the linking phase when building my project on Mac with the latest gstreamer 1.24.1 version (https://gstreamer.freedesktop.org/data/pkg/osx/1.24.1/gstreamer-1.0-1.24.1-universal.pkg ...### Describe your issue
I'm observing weird warnings at the linking phase when building my project on Mac with the latest gstreamer 1.24.1 version (https://gstreamer.freedesktop.org/data/pkg/osx/1.24.1/gstreamer-1.0-1.24.1-universal.pkg and https://gstreamer.freedesktop.org/data/pkg/osx/1.24.1/gstreamer-1.0-devel-1.24.1-universal.pkg).
All good with 1.22 (https://gstreamer.freedesktop.org/data/pkg/osx/1.22.11/gstreamer-1.0-1.22.11-universal.pkg and https://gstreamer.freedesktop.org/data/pkg/osx/1.22.11/gstreamer-1.0-devel-1.22.11-universal.pkg):
My approach with 1.22:
```
export PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework_1.22.0/Libraries/pkgconfig/
cmake -S src -B build_122 -G 'Ninja Multi-Config'
cmake --build build_122 --config Release
```
With 1.24.1:
```
export PKG_CONFIG_PATH=/Library/Frameworks/GStreamer.framework/Libraries/pkgconfig/
cmake -S src -B build_124 -G 'Ninja Multi-Config'
cmake --build build_124 --config Release
(gst-plugin-scanner:30067): GStreamer-WARNING **: 09:25:21.879: Failed to load plugin '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib': dlopen(/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib, 0x0002): Library not loaded: @rpath/@rpath/lib/libopenjp2.7.dylib
Referenced from: <18430B33-5528-30FA-9FC4-B158B55FC7AE> /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib
Reason: tried: './@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/@rpath/lib/libopenjp2.7.dylib' (no such file), './@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/@rpath/lib/libopenjp2.7.dylib' (no such file), './@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/../lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/lib/@rpath/lib/libopenjp2.7.dylib' (no such file), './@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/../../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/../lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/lib/@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/gstreamer-1.0/../@rpath/lib/libopenjp2.7.dylib' (no such file), '/Library/Frameworks/GStreamer.framework/Versions/1.0/libexec/@rpath/lib/libopenjp2.7.dylib' (no such file)
```
Additional info:
```
otool -L /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib
/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib (architecture x86_64):
@rpath/libgstopenjpeg.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/lib/libgstcodecparsers-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/lib/libgstreamer-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/lib/libgobject-2.0.0.dylib (compatibility version 7401.0.0, current version 7401.4.0)
@rpath/lib/libglib-2.0.0.dylib (compatibility version 7401.0.0, current version 7401.4.0)
@rpath/lib/libgstvideo-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/@rpath/lib/libopenjp2.7.dylib (compatibility version 7.0.0, current version 2.3.1)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/gstreamer-1.0/libgstopenjpeg.dylib (architecture arm64):
@rpath/libgstopenjpeg.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/lib/libgstcodecparsers-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/lib/libgstreamer-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/lib/libgobject-2.0.0.dylib (compatibility version 7401.0.0, current version 7401.4.0)
@rpath/lib/libglib-2.0.0.dylib (compatibility version 7401.0.0, current version 7401.4.0)
@rpath/lib/libgstvideo-1.0.0.dylib (compatibility version 2402.0.0, current version 2402.0.0)
@rpath/@rpath/lib/libopenjp2.7.dylib (compatibility version 7.0.0, current version 2.3.1)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
```
and:
```
/Library//Frameworks/GStreamer.framework/Versions/1.0/lib/libopenjp2.7.dylib (architecture x86_64):
@rpath/libopenjp2.2.3.1.dylib (compatibility version 7.0.0, current version 2.3.1)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
/Library//Frameworks/GStreamer.framework/Versions/1.0/lib/libopenjp2.7.dylib (architecture arm64):
@rpath/libopenjp2.2.3.1.dylib (compatibility version 7.0.0, current version 2.3.1)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1345.100.2)
```
#### Expected Behavior
No warnings and all correctly linked.
#### Setup
- **Operating System: MacOS M3 **
- **Device:** Computer
- **GStreamer Version: 1.24.1**https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1042qml6glsink: impossible to render in parallel into 2 (or more) qml6glsinks2024-03-28T09:21:55ZRobert Guziolowskiqml6glsink: impossible to render in parallel into 2 (or more) qml6glsinksCreate a simple QML application with 2 (or more) qml6glsinks with 2 different pipelines (see attached files).
**Observed behavior**
The application crashes or shows only the stream attached to the first GstGLQt6VideoItem item from the ...Create a simple QML application with 2 (or more) qml6glsinks with 2 different pipelines (see attached files).
**Observed behavior**
The application crashes or shows only the stream attached to the first GstGLQt6VideoItem item from the .qml file (in the test application the _snow_ pattern.
**Expected behavior**
Two streams shown independently (_snow_ and _smpte_ patterns).
**Suggested correction**
I found the correction (in my case) for this problem changing the code of the destructor of GstQSGTexture (gstqsg6material.cc file) from
`delete m_texture;`
to
`m_texture->deleteLater();`
Edit: [merge request](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6467) ready.
~~I'll create a merge request soon.~~
[CMakeLists.txt](/uploads/205dbecbffd2f9bf6eaa2d27e699ed7b/CMakeLists.txt)
[main.cpp](/uploads/a8bc6bb2b07640b8c87e1d178e3436a2/main.cpp)
[Main.qml](/uploads/e6e90727abf79eaaae869be14d5435fb/Main.qml)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3420macos: Transparent PNG into glimagesink doesn't display correctly2024-03-25T20:41:29ZPiotr Brzezińskimacos: Transparent PNG into glimagesink doesn't display correctlyA pipeline like `filesrc ! pngdec ! imagefreeze ! glimagesink`, when decoding a PNG file with an alpha channel, does not seem to render correctly (only on macOS, to my knownledge). The image only appears for 1 frame after a forced re-ren...A pipeline like `filesrc ! pngdec ! imagefreeze ! glimagesink`, when decoding a PNG file with an alpha channel, does not seem to render correctly (only on macOS, to my knownledge). The image only appears for 1 frame after a forced re-render, through resizing the window for example. Displays fine with `! osxvideosink`. It's identical to https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1548 with how it manifests. Haven't investigated any further yet.
Here's a quick recording when attempting to show the [GStreamer logo png](/uploads/05df15420ac0e49969836d6ccc8da223/gstreamer-logo.png):
![Screen_Recording_2024-03-25_at_21.39.12](/uploads/4aef37e90f6d33397581b6744f051dc2/Screen_Recording_2024-03-25_at_21.39.12.mov)
#### Setup
- **Operating System:** macOS Sonoma 14.4
- **Device:** MacBook Pro w/ M1 Pro
- **GStreamer Version:** latest `main`https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/473Speeding up the cerbero MSVC non-deps build2024-03-24T01:12:03ZNirbheek Chauhannirbheek.chauhan@gmail.comSpeeding up the cerbero MSVC non-deps buildLooking at https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/56701480 which was a job that happened at a low CI utilization time, some things jumped out at me:
* 45s to `cp -a` cerbero-sources cache
* ??s to `du -sch cerbero-source...Looking at https://gitlab.freedesktop.org/nirbheek/cerbero/-/jobs/56701480 which was a job that happened at a low CI utilization time, some things jumped out at me:
* 45s to `cp -a` cerbero-sources cache
* ??s to `du -sch cerbero-sources` (1st time)
* 2 min to run `cargo vendor` for cargo-c (`cargo-c -> fetch`) out of ~3 min to run `fetch-bootstrap` (incl 45s to download rust toolchain)
* 3 min to run `cargo vendor` for gst-plugins-rs (`gst-plugins-rs -> fetch`) out of ~5 min to run `fetch-package`
* 30s to run `du -sch cerbero-sources` (2nd time)
* 1.5 min to unpack the deps cache (3s to download it)
* 45s to install the latest rust toolchain in `bootstrap`
* 1 min to re-install meson in `bootstrap` (!?)
* 6.5 min to build and install the gstreamer monorepo
* 10 min to build and install gst-plugins-rs (using cargo-c)
* 1 min to package the results to tar.xz
* **Total: 32 min**
Total job time: 32 min
The time needed to download and initialize the container is not included in this, but it is definitely quite slow.
Mitigations:
* `cargo vendor` actually runs *twice*
- The first time, it is run during `fetch` after extracting the git repo/tarball so we can fetch everything from the internet
- The second time, it is run during `extract` to ensure that everything is available in the source tree for an offline build
- This happens because fetch and extract are two separate steps. One fix is to add a mechanism that tells us to skip the extract phase if fetch completed and the recipe hasn't changed since fetch completed.
* `cargo vendor` and `gst-plugins-rs` builds taking so long are probably related: the windows VM runs on top of the current stable version of qemu-kvm with virtio, which is probably quite slow at I/O.
- QEMU 9.0 might fix this, but it hasn't been released yet: https://blog.vmsplice.net/2024/01/qemu-aiocontext-removal-and-how-it-was.html
- Another option is to passthrough a device into the VM so it bypasses virtio and run everything inside that
- This will also help with provisioning of the container, which is I/O bottlenecked
* Disabling Rust debug symbols and turning off optimizations might speed up gst-plugins-rs
- If the issue is I/O, doing a full-debug build without optimizations might slow things down because it'll increase the size of artifacts
* Investigate sccache for Rust on Windows
- This will be I/O-heavy to copy into/out of the container, so it will have to be mounted from the runner itselfhttps://gitlab.freedesktop.org/gstreamer/orc/-/issues/67PulseAudio orc code crashes in emulation mode2024-03-22T13:29:39ZArun RaghavanPulseAudio orc code crashes in emulation modeReproducible in both 0.4.33 and master in the PulseAudio tree with:
```
ORC_DEBUG=99 ORC_CODE=debug,emulate CK_FORK=no meson test cpu-volume-test
```
Backtrace:
```
#0 0x00007ffff7810cd3 in orc_executor_emulate (ex=0x7fffffffb830) at...Reproducible in both 0.4.33 and master in the PulseAudio tree with:
```
ORC_DEBUG=99 ORC_CODE=debug,emulate CK_FORK=no meson test cpu-volume-test
```
Backtrace:
```
#0 0x00007ffff7810cd3 in orc_executor_emulate (ex=0x7fffffffb830) at ../subprojects/orc/orc/orcexecutor.c:320
#1 0x00007ffff7e04b82 in pa_volume_s16ne_orc_2ch (d1=0x7fffffffcc5e, p1=180444461064589, n=510) at src/pulsecore/svolume-orc-gen.c:551
#2 0x00007ffff7e8e189 in pa_volume_s16ne_orc (samples=0x7fffffffcc5e, volumes=0x7fffffffbbc0, channels=2, length=2040) at ../src/pulsecore/svolume_orc.c:38
#3 0x0000000000401592 in run_volume_test (func=0x7ffff7e8e130 <pa_volume_s16ne_orc>, orig_func=0x7ffff7e82470 <pa_volume_s16ne_sse2>, align=1, channels=2, correct=true, perf=false) at ../src/tests/cpu-volume-test.c:74
#4 0x000000000040207e in svolume_orc_test_fn (_i=0) at ../src/tests/cpu-volume-test.c:211
#5 0x00007ffff7dbd943 in tcase_run_tfun_nofork (sr=sr@entry=0x406680, tc=tc@entry=0x406420, tfun=tfun@entry=0x406630, i=i@entry=0) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:420
#6 0x00007ffff7dbdf75 in srunner_iterate_tcase_tfuns (tc=0x406420, sr=<optimized out>) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:263
#7 srunner_run_tcase (tc=0x406420, sr=0x406680) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:402
#8 srunner_iterate_suites (print_mode=<optimized out>, exclude_tags=0x0, include_tags=0x0, tcname=<optimized out>, sname=0x0, sr=0x406680) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:222
#9 srunner_run_tagged (sr=0x406680, sname=0x0, tcname=<optimized out>, include_tags=0x0, exclude_tags=0x0, print_mode=<optimized out>) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:814
#10 0x00000000004021da in main (argc=1, argv=0x7fffffffd8a8) at ../src/tests/cpu-volume-test.c:241
```