GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2024-02-12T11:25:25Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/493Ubuntu 22.04 | Webrtc build broken2024-02-12T11:25:25Zomerts3Ubuntu 22.04 | Webrtc build broken### Describe your issue
When trying to build latest code for `webrtcsink` on an Ubuntu 22.04 machine, I am getting the following error:
```
warning: gstreamer-sys@0.23.0:
error: failed to run custom build command for `gstreamer-sys v0...### Describe your issue
When trying to build latest code for `webrtcsink` on an Ubuntu 22.04 machine, I am getting the following error:
```
warning: gstreamer-sys@0.23.0:
error: failed to run custom build command for `gstreamer-sys v0.23.0 (https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=main#2613c577)`
Caused by:
process didn't exit successfully: `/home/amram/development/gst-plugins-rs/target/debug/build/gstreamer-sys-c4925ece94778f23/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=GSTREAMER_1.0_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:warning=
pkg-config exited with status code 1
> PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags gstreamer-1.0 gstreamer-1.0 >= 1.22
The system library `gstreamer-1.0` required by crate `gstreamer-sys` was not found.
The file `gstreamer-1.0.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.
The PKG_CONFIG_PATH environment variable is not set.
HINT: if you have installed the library, try setting PKG_CONFIG_PATH to the directory containing `gstreamer-1.0.pc`.
```
The error seems due to gstreamer-sys expecting gstreamer 1.22, but current gstreamer apt version for Ubuntu 22.04 is `1.20.3`. Using a Cargo.toml from before the change in in the past few days, works as expected. Looking at the logs the difference I see is that after the change the build command includes `CARGO_FEATURE_V1_22=1` which causes the gstreamer-sys lib to try to build for version 1.22 which doesn't exist.
#### Expected Behavior
Build should succeed
#### Observed Behavior
Build fails
#### Setup
- **Operating System:** Ubuntu 22.04 Jammy
- **Device:** Computer
- **gst-plugins-rs Version:** Latest main
- **GStreamer Version:** 1.20.3
- **Command line:** Terminal
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. open terminal in an Ubuntu 22.04 machin
2. `git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git`
3. `cd /gst-plugins-rs/net/webrtc`
4. `cargo build`
### How reproducible is the bug?
Always
### Solutions you have tried
Reverting the code to an older version (works). Building on different images in docker (failed).https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/470taglib: x86 build failure - build-tools\lib\z.lib : warning LNK4272: library ...2024-02-16T22:49:52ZTim-Philipp Müllertim@centricular.comtaglib: x86 build failure - build-tools\lib\z.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'Seeing msvc x86 build failures on taglib on the nightly pipeline:
Example: https://gitlab.freedesktop.org/gstreamer/cerbero/-/jobs/54925814
```
LINK: command "C:\BuildTools\VC\Tools\MSVC\14.36.32532\bin\Hostx86\x86\link.exe /nologo tag...Seeing msvc x86 build failures on taglib on the nightly pipeline:
Example: https://gitlab.freedesktop.org/gstreamer/cerbero/-/jobs/54925814
```
LINK: command "C:\BuildTools\VC\Tools\MSVC\14.36.32532\bin\Hostx86\x86\link.exe /nologo taglib\CMakeFiles\tag.dir\mpeg\mpegfile.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\mpegproperties.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\mpegheader.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\xingheader.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v1\id3v1tag.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v1\id3v1genres.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\id3v2framefactory.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\id3v2synchdata.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\id3v2tag.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\id3v2header.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\id3v2frame.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\id3v2footer.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\id3v2extendedheader.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\attachedpictureframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\commentsframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\eventtimingcodesframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\generalencapsulatedobjectframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\ownershipframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\popularimeterframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\privateframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\relativevolumeframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\synchronizedlyricsframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\textidentificationframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\uniquefileidentifierframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\unknownframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\unsynchronizedlyricsframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\urllinkframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\chapterframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\tableofcontentsframe.cpp.obj taglib\CMakeFiles\tag.dir\mpeg\id3v2\frames\podcastframe.cpp.obj taglib\CMakeFiles\tag.dir\ogg\oggfile.cpp.obj taglib\CMakeFiles\tag.dir\ogg\oggpage.cpp.obj taglib\CMakeFiles\tag.dir\ogg\oggpageheader.cpp.obj taglib\CMakeFiles\tag.dir\ogg\xiphcomment.cpp.obj taglib\CMakeFiles\tag.dir\ogg\vorbis\vorbisfile.cpp.obj taglib\CMakeFiles\tag.dir\ogg\vorbis\vorbisproperties.cpp.obj taglib\CMakeFiles\tag.dir\ogg\flac\oggflacfile.cpp.obj taglib\CMakeFiles\tag.dir\mpc\mpcfile.cpp.obj taglib\CMakeFiles\tag.dir\mpc\mpcproperties.cpp.obj taglib\CMakeFiles\tag.dir\ape\apetag.cpp.obj taglib\CMakeFiles\tag.dir\ape\apefooter.cpp.obj taglib\CMakeFiles\tag.dir\ape\apeitem.cpp.obj taglib\CMakeFiles\tag.dir\ape\apefile.cpp.obj taglib\CMakeFiles\tag.dir\ape\apeproperties.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tstring.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tstringlist.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tbytevector.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tbytevectorlist.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tbytevectorstream.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tiostream.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tfile.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tfilestream.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tdebug.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tpropertymap.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\trefcounter.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tdebuglistener.cpp.obj taglib\CMakeFiles\tag.dir\toolkit\tzlib.cpp.obj taglib\CMakeFiles\tag.dir\flac\flacfile.cpp.obj taglib\CMakeFiles\tag.dir\flac\flacpicture.cpp.obj taglib\CMakeFiles\tag.dir\flac\flacproperties.cpp.obj taglib\CMakeFiles\tag.dir\flac\flacmetadatablock.cpp.obj taglib\CMakeFiles\tag.dir\flac\flacunknownmetadatablock.cpp.obj taglib\CMakeFiles\tag.dir\wavpack\wavpackfile.cpp.obj taglib\CMakeFiles\tag.dir\wavpack\wavpackproperties.cpp.obj taglib\CMakeFiles\tag.dir\ogg\speex\speexfile.cpp.obj taglib\CMakeFiles\tag.dir\ogg\speex\speexproperties.cpp.obj taglib\CMakeFiles\tag.dir\trueaudio\trueaudiofile.cpp.obj taglib\CMakeFiles\tag.dir\trueaudio\trueaudioproperties.cpp.obj taglib\CMakeFiles\tag.dir\riff\rifffile.cpp.obj taglib\CMakeFiles\tag.dir\riff\aiff\aifffile.cpp.obj taglib\CMakeFiles\tag.dir\riff\aiff\aiffproperties.cpp.obj taglib\CMakeFiles\tag.dir\riff\wav\wavfile.cpp.obj taglib\CMakeFiles\tag.dir\riff\wav\wavproperties.cpp.obj taglib\CMakeFiles\tag.dir\riff\wav\infotag.cpp.obj taglib\CMakeFiles\tag.dir\asf\asftag.cpp.obj taglib\CMakeFiles\tag.dir\asf\asffile.cpp.obj taglib\CMakeFiles\tag.dir\asf\asfproperties.cpp.obj taglib\CMakeFiles\tag.dir\asf\asfattribute.cpp.obj taglib\CMakeFiles\tag.dir\asf\asfpicture.cpp.obj taglib\CMakeFiles\tag.dir\mp4\mp4file.cpp.obj taglib\CMakeFiles\tag.dir\mp4\mp4atom.cpp.obj taglib\CMakeFiles\tag.dir\mp4\mp4tag.cpp.obj taglib\CMakeFiles\tag.dir\mp4\mp4item.cpp.obj taglib\CMakeFiles\tag.dir\mp4\mp4properties.cpp.obj taglib\CMakeFiles\tag.dir\mp4\mp4coverart.cpp.obj taglib\CMakeFiles\tag.dir\mod\modfilebase.cpp.obj taglib\CMakeFiles\tag.dir\mod\modfile.cpp.obj taglib\CMakeFiles\tag.dir\mod\modtag.cpp.obj taglib\CMakeFiles\tag.dir\mod\modproperties.cpp.obj taglib\CMakeFiles\tag.dir\s3m\s3mfile.cpp.obj taglib\CMakeFiles\tag.dir\s3m\s3mproperties.cpp.obj taglib\CMakeFiles\tag.dir\it\itfile.cpp.obj taglib\CMakeFiles\tag.dir\it\itproperties.cpp.obj taglib\CMakeFiles\tag.dir\xm\xmfile.cpp.obj taglib\CMakeFiles\tag.dir\xm\xmproperties.cpp.obj taglib\CMakeFiles\tag.dir\ogg\opus\opusfile.cpp.obj taglib\CMakeFiles\tag.dir\ogg\opus\opusproperties.cpp.obj taglib\CMakeFiles\tag.dir\tag.cpp.obj taglib\CMakeFiles\tag.dir\tagunion.cpp.obj taglib\CMakeFiles\tag.dir\fileref.cpp.obj taglib\CMakeFiles\tag.dir\audioproperties.cpp.obj taglib\CMakeFiles\tag.dir\tagutils.cpp.obj /out:taglib\tag.dll /implib:taglib\tag.lib /pdb:taglib\tag.pdb /dll /version:1.19 /machine:X86 -LC:/Users/Administrator/runner/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86/lib /INCREMENTAL:NO C:\Users\Administrator\runner\builds\gstreamer\cerbero\cerbero-build\build-tools\lib\z.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTFILE:taglib\tag.dll.manifest" failed (exit code 1120) with the following output:
LINK : warning LNK4044: unrecognized option '/LC:/Users/Administrator/runner/builds/gstreamer/cerbero/cerbero-build/dist/msvc_x86/lib'; ignored
Creating library taglib\tag.lib and object taglib\tag.exp
tzlib.cpp.obj : error LNK2019: unresolved external symbol _inflate referenced in function "class TagLib::ByteVector __cdecl TagLib::zlib::decompress(class TagLib::ByteVector const &)" (?decompress@zlib@TagLib@@YA?AVByteVector@2@ABV32@@Z)
tzlib.cpp.obj : error LNK2019: unresolved external symbol _inflateEnd referenced in function "class TagLib::ByteVector __cdecl TagLib::zlib::decompress(class TagLib::ByteVector const &)" (?decompress@zlib@TagLib@@YA?AVByteVector@2@ABV32@@Z)
tzlib.cpp.obj : error LNK2019: unresolved external symbol _inflateInit_ referenced in function "class TagLib::ByteVector __cdecl TagLib::zlib::decompress(class TagLib::ByteVector const &)" (?decompress@zlib@TagLib@@YA?AVByteVector@2@ABV32@@Z)
C:\Users\Administrator\runner\builds\gstreamer\cerbero\cerbero-build\build-tools\lib\z.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'x86'
taglib\tag.dll : fatal error LNK1120: 3 unresolved externals
```
Usually goes away on re-try in the morning, but fails pretty much every night.
Also happened before the taglib version update, but only started failing recently (last 1-2 weeks or so perhaps)1.23.90https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3292playbin3: dead lock between typefind and urisourcebin when setting state to NULL2024-02-15T10:50:21ZGuillaume Desmottesplaybin3: dead lock between typefind and urisourcebin when setting state to NULLI'm getting a deadlock between `typefind` and `urisourcebin` when trying to set `playbin3` state to `NULL`.
- Thread 54
- holding `typefind:sink` stream lock, as `gst_type_find_element_loop` is the pad task
- waiting on `urisourcebi...I'm getting a deadlock between `typefind` and `urisourcebin` when trying to set `playbin3` state to `NULL`.
- Thread 54
- holding `typefind:sink` stream lock, as `gst_type_find_element_loop` is the pad task
- waiting on `urisourcebin` state lock
- Thread 2
- holding `urisourcebin` state lock in `gst_element_set_state_func`
- waiting on `typefind:sink` stream lock
```
Thread 54 (Thread 0x7f3d256006c0 (LWP 163999) "typefindelement"):
#0 0x00007f3d8ab1dfc0 in __lll_lock_wait () at /lib64/libc.so.6
#1 0x00007f3d8ab244da in pthread_mutex_lock@@GLIBC_2.2.5 () at /lib64/libc.so.6
#2 0x00007f3d84747fad in setup_parsebin_for_slot (info=0x7f3bc91e6ad0, originating_pad=0x7f3d8068ca90) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:1946
#3 0x00007f3d8474894d in handle_new_pad (info=0x7f3bc91e6ad0, srcpad=0x7f3d8068ca90, caps=0x7f3bc0007ee0) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:2103
#4 0x00007f3d84748e95 in type_found (typefind=0x7f3d802c63c0, probability=100, caps=0x7f3bc0007ee0, info=0x7f3bc91e6ad0) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:2186
#5 0x00007f3d8a8faa06 in ffi_call_unix64 () at /lib64/libffi.so.8
#6 0x00007f3d8a8f749d in ffi_call_int.lto_priv () at /lib64/libffi.so.8
#7 0x00007f3d8a8fa083 in ffi_call () at /lib64/libffi.so.8
#8 0x00007f3d8c117113 in g_cclosure_marshal_generic () at /lib64/libgobject-2.0.so.0
#9 0x00007f3d8c111060 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#10 0x00007f3d8c13df66 in signal_emit_unlocked_R.isra.0 () at /lib64/libgobject-2.0.so.0
#11 0x00007f3d8c12e4da in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#12 0x00007f3d8c12e6f3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#13 0x00007f3d846e16dd in gst_type_find_element_emit_have_type (typefind=0x7f3d802c63c0, probability=100, caps=0x7f3bc0007ee0) at ../subprojects/gstreamer/plugins/elements/gsttypefindelement.c:239
#14 0x00007f3d846e4b9d in gst_type_find_element_loop (pad=0x7f3bc91ea550) at ../subprojects/gstreamer/plugins/elements/gsttypefindelement.c:1195
#15 0x00007f3d8c2670f6 in gst_task_func (task=0x7f3bc91c83b0) at ../subprojects/gstreamer/gst/gsttask.c:399
#16 0x00007f3d8c268501 in default_func (tdata=0x7f3d805b6fe0, pool=0x7f3d805b6100) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#17 0x00007f3d8c043052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#18 0x00007f3d8c03ff22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#19 0x00007f3d8ab2119d in start_thread () at /lib64/libc.so.6
#20 0x00007f3d8aba2c60 in clone3 () at /lib64/libc.so.6
Thread 2 (Thread 0x7f3d876006c0 (LWP 163945) "player::tests::"):
#0 0x00007f3d8ab1dfc0 in __lll_lock_wait () at /lib64/libc.so.6
#1 0x00007f3d8ab244da in pthread_mutex_lock@@GLIBC_2.2.5 () at /lib64/libc.so.6
#2 0x00007f3d8c22dff3 in gst_pad_stop_task (pad=0x7f3bc91ea550) at ../subprojects/gstreamer/gst/gstpad.c:6514
#3 0x00007f3d846e5155 in gst_type_find_element_activate_sink_mode (pad=0x7f3bc91ea550, parent=0x7f3d802c63c0, mode=GST_PAD_MODE_PULL, active=0) at ../subprojects/gstreamer/plugins/elements/gsttypefindelement.c:1288
#4 0x00007f3d8c21bc24 in activate_mode_internal (pad=0x7f3bc91ea550, parent=0x7f3d802c63c0, mode=GST_PAD_MODE_PULL, active=0) at ../subprojects/gstreamer/gst/gstpad.c:1224
#5 0x00007f3d8c21b7a2 in gst_pad_set_active (pad=0x7f3bc91ea550, active=0) at ../subprojects/gstreamer/gst/gstpad.c:1122
#6 0x00007f3d8c1f620b in activate_pads (vpad=0x7f3d875fe340, ret=0x7f3d875fe390, active=0x7f3d875fe3c4) at ../subprojects/gstreamer/gst/gstelement.c:3189
#7 0x00007f3d8c20da8d in gst_iterator_fold (it=0x7f3d8024aa10, func=0x7f3d8c1f61cc <activate_pads>, ret=0x7f3d875fe390, user_data=0x7f3d875fe3c4) at ../subprojects/gstreamer/gst/gstiterator.c:618
#8 0x00007f3d8c1f6294 in iterator_activate_fold_with_resync (iter=0x7f3d8024aa10, func=0x7f3d8c1f61cc <activate_pads>, user_data=0x7f3d875fe3c4) at ../subprojects/gstreamer/gst/gstelement.c:3213
#9 0x00007f3d8c1f63ce in gst_element_pads_activate (element=0x7f3d802c63c0, active=0) at ../subprojects/gstreamer/gst/gstelement.c:3258
#10 0x00007f3d8c1f66db in gst_element_change_state_func (element=0x7f3d802c63c0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3323
#11 0x00007f3d846e52eb in gst_type_find_element_change_state (element=0x7f3d802c63c0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/plugins/elements/gsttypefindelement.c:1353
#12 0x00007f3d8c1f5cf1 in gst_element_change_state (element=0x7f3d802c63c0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3101
#13 0x00007f3d8c1f5a76 in gst_element_set_state_func (element=0x7f3d802c63c0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:3055
#14 0x00007f3d8c1f5661 in gst_element_set_state (element=0x7f3d802c63c0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:2956
#15 0x00007f3d8c1c2259 in gst_bin_element_set_state (bin=0x7f3d8068ccc0, element=0x7f3d802c63c0, base_time=0, start_time=0, current=GST_STATE_PAUSED, next=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstbin.c:2582
#16 0x00007f3d8c1c38f7 in gst_bin_change_state_func (element=0x7f3d8068ccc0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstbin.c:2934
#17 0x00007f3d8474c219 in gst_uri_source_bin_change_state (element=0x7f3d8068ccc0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:3083
#18 0x00007f3d8c1f5cf1 in gst_element_change_state (element=0x7f3d8068ccc0, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3101
#19 0x00007f3d8c1f5a76 in gst_element_set_state_func (element=0x7f3d8068ccc0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:3055
#20 0x00007f3d8c1f5661 in gst_element_set_state (element=0x7f3d8068ccc0, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:2956
#21 0x00007f3d8c1c2259 in gst_bin_element_set_state (bin=0x7f3d8068c380, element=0x7f3d8068ccc0, base_time=0, start_time=0, current=GST_STATE_PAUSED, next=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstbin.c:2582
#22 0x00007f3d8c1c38f7 in gst_bin_change_state_func (element=0x7f3d8068c380, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstbin.c:2934
#23 0x00007f3d84741a4f in gst_uri_decode_bin3_change_state (element=0x7f3d8068c380, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:2083
#24 0x00007f3d8c1f5cf1 in gst_element_change_state (element=0x7f3d8068c380, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3101
#25 0x00007f3d8c1f5a76 in gst_element_set_state_func (element=0x7f3d8068c380, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:3055
#26 0x00007f3d8c1f5661 in gst_element_set_state (element=0x7f3d8068c380, state=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstelement.c:2956
#27 0x00007f3d8c1c2259 in gst_bin_element_set_state (bin=0x7f3d8068e090, element=0x7f3d8068c380, base_time=0, start_time=0, current=GST_STATE_PAUSED, next=GST_STATE_READY) at ../subprojects/gstreamer/gst/gstbin.c:2582
#28 0x00007f3d8c1c38f7 in gst_bin_change_state_func (element=0x7f3d8068e090, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstbin.c:2934
#29 0x00007f3d8c231a37 in gst_pipeline_change_state (element=0x7f3d8068e090, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstpipeline.c:534
#30 0x00007f3d8477126d in gst_play_bin3_change_state (element=0x7f3d8068e090, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gst-plugins-base/gst/playback/gstplaybin3.c:2705
#31 0x00007f3d8c1f5cf1 in gst_element_change_state (element=0x7f3d8068e090, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3101
#32 0x00007f3d8c1f5a76 in gst_element_set_state_func (element=0x7f3d8068e090, state=GST_STATE_NULL) at ../subprojects/gstreamer/gst/gstelement.c:3055
#33 0x00007f3d8c1f5661 in gst_element_set_state (element=0x7f3d8068e090, state=GST_STATE_NULL) at ../subprojects/gstreamer/gst/gstelement.c:2956
#34 0x0000564ab8a4ded0 in gstreamer::auto::element::ElementExt::set_state<gstreamer::auto::element::Element> (self=0x7f3d875ff190, state=gstreamer::auto::enums::State::Null) at /var/home/cassidy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/gstreamer-0.21.3/src/auto/element.rs:458
#35 karapulse::player::{impl#1}::drop (self=<optimized out>) at src/player.rs:372
#36 core::ptr::drop_in_place<karapulse::player::Player> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ptr/mod.rs:507
#37 0x0000564ab8a4f90c in core::ptr::drop_in_place<karapulse::player::tests::Test> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ptr/mod.rs:507
#38 0x0000564ab8ad6326 in karapulse::player::tests::stop () at src/player.rs:539
#39 karapulse::player::tests::player_tests () at src/player.rs:484
#40 0x0000564ab8acb9d9 in karapulse::player::tests::player_tests::{closure#0} () at src/player.rs:472
#41 core::ops::function::FnOnce::call_once<karapulse::player::tests::player_tests::{closure_env#0}, ()> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250
#42 0x0000564ab8c97d2f in core::ops::function::FnOnce::call_once<fn() -> core::result::Result<(), alloc::string::String>, ()> () at library/core/src/ops/function.rs:250
#43 test::__rust_begin_short_backtrace<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>> () at library/test/src/lib.rs:627
#44 0x0000564ab8c96ab1 in test::run_test_in_process::{closure#0} () at library/test/src/lib.rs:650
#45 core::panic::unwind_safe::{impl#23}::call_once<core::result::Result<(), alloc::string::String>, test::run_test_in_process::{closure_env#0}> () at library/core/src/panic/unwind_safe.rs:272
#46 std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure_env#0}>, core::result::Result<(), alloc::string::String>> () at library/std/src/panicking.rs:552
#47 std::panicking::try<core::result::Result<(), alloc::string::String>, core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure_env#0}>> () at library/std/src/panicking.rs:516
#48 std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<test::run_test_in_process::{closure_env#0}>, core::result::Result<(), alloc::string::String>> () at library/std/src/panic.rs:142
#49 test::run_test_in_process () at library/test/src/lib.rs:650
#50 test::run_test::{closure#0} () at library/test/src/lib.rs:573
#51 0x0000564ab8c5b966 in test::run_test::{closure#1} () at library/test/src/lib.rs:601
#52 std::sys_common::backtrace::__rust_begin_short_backtrace<test::run_test::{closure_env#1}, ()> () at library/std/src/sys_common/backtrace.rs:155
#53 0x0000564ab8c609c7 in std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure#0}<test::run_test::{closure_env#1}, ()> () at library/std/src/thread/mod.rs:529
#54 core::panic::unwind_safe::{impl#23}::call_once<(), std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<test::run_test::{closure_env#1}, ()>> () at library/core/src/panic/unwind_safe.rs:272
#55 std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<test::run_test::{closure_env#1}, ()>>, ()> () at library/std/src/panicking.rs:552
#56 std::panicking::try<(), core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<test::run_test::{closure_env#1}, ()>>> () at library/std/src/panicking.rs:516
#57 std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#1}::{closure_env#0}<test::run_test::{closure_env#1}, ()>>, ()> () at library/std/src/panic.rs:142
#58 std::thread::{impl#0}::spawn_unchecked_::{closure#1}<test::run_test::{closure_env#1}, ()> () at library/std/src/thread/mod.rs:528
#59 core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#1}<test::run_test::{closure_env#1}, ()>, ()> () at library/core/src/ops/function.rs:250
#60 0x0000564ab94a11a5 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2015
#61 alloc::boxed::{impl#47}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2015
#62 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#63 0x00007f3d8ab2119d in start_thread () at /lib64/libc.so.6
#64 0x00007f3d8aba2c60 in clone3 () at /lib64/libc.so.6
```Edward HerveyEdward Herveyhttps://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/469[regression] Bootstrap fails on Ubuntu 22.04, with `FileNotFoundError: [Errno...2024-02-16T10:03:16ZRatchanan Srirattanamet[regression] Bootstrap fails on Ubuntu 22.04, with `FileNotFoundError: [Errno 2] No such file or directory: '<...>/build/build-tools/bin/meson'`Environment: Ubuntu 22.04. More specifically, the Docker image gitpod/workspace-base.
Step to reproduce: simply run command `./cerbero-uninstalled bootstrap`. The command will fail with:
```
Recipe 'orc' failed at the build step 'conf...Environment: Ubuntu 22.04. More specifically, the Docker image gitpod/workspace-base.
Step to reproduce: simply run command `./cerbero-uninstalled bootstrap`. The command will fail with:
```
Recipe 'orc' failed at the build step 'configure'
Traceback (most recent call last):
File "/workspace/cerbero/cerbero/build/oven.py", line 494, in _cook_recipe_step
await ret
File "/workspace/cerbero/cerbero/build/recipe.py", line 103, in async_wrapped
await stepfunc()
File "/workspace/cerbero/cerbero/build/build.py", line 65, in async_call
res = await func(*args)
File "/workspace/cerbero/cerbero/build/build.py", line 1144, in configure
await shell.async_call(meson_cmd, self.meson_dir, logfile=self.logfile, env=self.env)
File "/workspace/cerbero/cerbero/utils/shell.py", line 265, in async_call
proc = await asyncio.create_subprocess_exec(
File "/usr/lib/python3.10/asyncio/subprocess.py", line 218, in create_subprocess_exec
transport, protocol = await loop.subprocess_exec(
File "/usr/lib/python3.10/asyncio/base_events.py", line 1681, in subprocess_exec
transport = await self._make_subprocess_transport(
File "/usr/lib/python3.10/asyncio/unix_events.py", line 207, in _make_subprocess_transport
transp = _UnixSubprocessTransport(self, protocol, args, shell,
File "/usr/lib/python3.10/asyncio/base_subprocess.py", line 36, in __init__
self._start(args=args, shell=shell, stdin=stdin, stdout=stdout,
File "/usr/lib/python3.10/asyncio/unix_events.py", line 799, in _start
self._proc = subprocess.Popen(
File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/workspace/cerbero/build/build-tools/bin/meson'
```
I did check; the file actually isn't there.
<details>
<summary>Full log</summary>
<pre>
Build tools install prefix will be /workspace/cerbero/build/build-tools
Install prefix will be /workspace/cerbero/build/dist/linux_x86_64
File /home/gitpod/.cache/cerbero-sources/rustup-init-1.26.0-x86_64-unknown-linux-gnu already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/channel-rust-1.76.0.toml already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/channel-rust-1.76.0.toml.sha256 already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/channel-rust-1.76.0.toml.asc already downloaded.
File /home/gitpod/.cache/cerbero-sources/tomli-2.0.1.tar.gz already downloaded.
Unpacking /home/gitpod/.cache/cerbero-sources/tomli-2.0.1.tar.gz in /workspace/cerbero/build/rust
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rust-1.76.0-x86_64-unknown-linux-gnu.tar.xz already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rust-1.76.0-x86_64-unknown-linux-gnu.tar.xz.sha256 already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rust-1.76.0-x86_64-unknown-linux-gnu.tar.xz.asc already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/cargo-1.76.0-x86_64-unknown-linux-gnu.tar.xz already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/cargo-1.76.0-x86_64-unknown-linux-gnu.tar.xz.sha256 already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/cargo-1.76.0-x86_64-unknown-linux-gnu.tar.xz.asc already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rustc-1.76.0-x86_64-unknown-linux-gnu.tar.xz already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rustc-1.76.0-x86_64-unknown-linux-gnu.tar.xz.sha256 already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rustc-1.76.0-x86_64-unknown-linux-gnu.tar.xz.asc already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.xz already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.xz.sha256 already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.xz.asc already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/llvm-tools-1.76.0-x86_64-unknown-linux-gnu.tar.xz already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/llvm-tools-1.76.0-x86_64-unknown-linux-gnu.tar.xz.sha256 already downloaded.
File /home/gitpod/.cache/cerbero-sources/dist/2024-02-08/llvm-tools-1.76.0-x86_64-unknown-linux-gnu.tar.xz.asc already downloaded.
-----> Installing Rust toolchain so cargo-c.recipe can fetch deps
verbose: creating home directory: '/workspace/cerbero/build/rust/rustup'
info: profile set to 'minimal'
info: setting default host triple to x86_64-unknown-linux-gnu
verbose: creating update-hash directory: '/workspace/cerbero/build/rust/rustup/update-hashes'
verbose: installing toolchain 'stable-x86_64-unknown-linux-gnu'
verbose: toolchain directory: '/workspace/cerbero/build/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu'
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
verbose: creating temp root: /workspace/cerbero/build/rust/rustup/tmp
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/56ydebggzrvgjdfr_file
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/channel-rust-stable.toml.sha256'
verbose: downloading with reqwest
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/56ydebggzrvgjdfr_file
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/vez9aff0cfp782ae_file.toml
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/channel-rust-stable.toml'
verbose: downloading with reqwest
verbose: checksum passed
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/vez9aff0cfp782ae_file.toml
info: latest update on 2024-02-08, rust version 1.76.0 (07dca489a 2024-02-04)
info: downloading component 'cargo'
verbose: creating Download Directory directory: '/workspace/cerbero/build/rust/rustup/downloads'
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/2024-02-08/cargo-1.76.0-x86_64-unknown-linux-gnu.tar.xz'
verbose: downloading with reqwest
verbose: checksum passed
info: downloading component 'llvm-tools'
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/2024-02-08/llvm-tools-1.76.0-x86_64-unknown-linux-gnu.tar.xz'
verbose: downloading with reqwest
verbose: checksum passed
info: downloading component 'rust-std'
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.xz'
verbose: downloading with reqwest
verbose: checksum passed
info: downloading component 'rustc'
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rustc-1.76.0-x86_64-unknown-linux-gnu.tar.xz'
verbose: downloading with reqwest
verbose: checksum passed
info: installing component 'cargo'
verbose: creating temp directory: /workspace/cerbero/build/rust/rustup/tmp/4j6zacxkcvvsmwwa_dir
verbose: deleted temp directory: /workspace/cerbero/build/rust/rustup/tmp/4j6zacxkcvvsmwwa_dir
info: installing component 'llvm-tools'
verbose: creating temp directory: /workspace/cerbero/build/rust/rustup/tmp/uxmufc0ffwjq7xcu_dir
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/xjcduy1s7ys44evd_file
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/84_zsyhrhpoqsmai_file
verbose: deleted temp directory: /workspace/cerbero/build/rust/rustup/tmp/uxmufc0ffwjq7xcu_dir
info: installing component 'rust-std'
verbose: creating temp directory: /workspace/cerbero/build/rust/rustup/tmp/8gscgifs2ip_8eo1_dir
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/fqxtnyq2hgsco9cf_file
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/tcqmnvw1gxjw9na3_file
verbose: deleted temp directory: /workspace/cerbero/build/rust/rustup/tmp/8gscgifs2ip_8eo1_dir
info: installing component 'rustc'
verbose: creating temp directory: /workspace/cerbero/build/rust/rustup/tmp/c567ckjc8dkfjuu9_dir
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/oslj40bchxo01tyz_file
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/t3ne6b_1f07s9qwh_file
verbose: deleted temp directory: /workspace/cerbero/build/rust/rustup/tmp/c567ckjc8dkfjuu9_dir
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/xjcduy1s7ys44evd_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/84_zsyhrhpoqsmai_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/fqxtnyq2hgsco9cf_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/tcqmnvw1gxjw9na3_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/oslj40bchxo01tyz_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/t3ne6b_1f07s9qwh_file
verbose: toolchain 'stable-x86_64-unknown-linux-gnu' installed
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'
Rust toolchain v1.76.0 installed at /workspace/cerbero/build/rust
Running command 'sudo apt-get install autotools-dev automake autoconf libtool g++ autopoint make cmake ninja-build bison flex nasm pkg-config libxv-dev libx11-dev libx11-xcb-dev libpulse-dev python3-dev gettext build-essential pkg-config libxext-dev libxi-dev x11proto-record-dev libxrender-dev libgl1-mesa-dev libxfixes-dev libxdamage-dev libxcomposite-dev libasound2-dev build-essential gperf wget libxtst-dev libxrandr-dev libglu1-mesa-dev libegl1-mesa-dev git xutils-dev ccache python3-setuptools libssl-dev'
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
autoconf is already the newest version (2.71-2).
automake is already the newest version (1:1.16.5-1.3).
autopoint is already the newest version (0.21-4ubuntu4).
autotools-dev is already the newest version (20220109.1).
bison is already the newest version (2:3.8.2+dfsg-1build1).
build-essential is already the newest version (12.9ubuntu3).
flex is already the newest version (2.6.4-8build2).
g++ is already the newest version (4:11.2.0-1ubuntu1).
gettext is already the newest version (0.21-4ubuntu4).
libasound2-dev is already the newest version (1.2.6.1-1ubuntu1).
libglu1-mesa-dev is already the newest version (9.0.2-1).
libtool is already the newest version (2.4.6-15build2).
libxcomposite-dev is already the newest version (1:0.4.5-1build2).
libxdamage-dev is already the newest version (1:1.1.5-2build2).
libxext-dev is already the newest version (2:1.3.4-1build1).
libxfixes-dev is already the newest version (1:6.0.0-1).
libxi-dev is already the newest version (2:1.8-1build1).
libxrandr-dev is already the newest version (2:1.5.2-1build1).
libxrender-dev is already the newest version (1:0.9.10-1build4).
libxtst-dev is already the newest version (2:1.2.3-1build4).
libxv-dev is already the newest version (2:1.0.11-1build2).
make is already the newest version (4.3-4.1build1).
pkg-config is already the newest version (0.29.2-1ubuntu3).
wget is already the newest version (1.21.2-2ubuntu1).
x11proto-record-dev is already the newest version (2021.5-1).
ccache is already the newest version (4.5.1-1).
gperf is already the newest version (3.1-1build1).
nasm is already the newest version (2.15.05-1).
ninja-build is already the newest version (1.10.1-1).
xutils-dev is already the newest version (1:7.7+6ubuntu1).
cmake is already the newest version (3.22.1-1ubuntu1.22.04.1).
libegl1-mesa-dev is already the newest version (23.0.4-0ubuntu1~22.04.1).
libgl1-mesa-dev is already the newest version (23.0.4-0ubuntu1~22.04.1).
libpulse-dev is already the newest version (1:15.99.1+dfsg1-1ubuntu2.1).
libssl-dev is already the newest version (3.0.2-0ubuntu1.14).
libx11-dev is already the newest version (2:1.7.5-1ubuntu0.3).
libx11-xcb-dev is already the newest version (2:1.7.5-1ubuntu0.3).
python3-dev is already the newest version (3.10.6-1~22.04).
python3-setuptools is already the newest version (59.6.0-1.2ubuntu0.22.04.1).
git is already the newest version (1:2.43.0-0ppa1~ubuntu22.04.1).
0 upgraded, 0 newly installed, 0 to remove and 14 not upgraded.
warning: it looks like you have an existing installation of Rust at:
warning: /workspace/cerbero/build/rust/cargo/bin
warning: It is recommended that rustup be the primary Rust installation.
warning: Otherwise you may have confusion unless you are careful with your PATH
warning: If you are sure that you want both rustup and your already installed Rust
warning: then please reply `y' or `yes' or set RUSTUP_INIT_SKIP_PATH_CHECK to yes
warning: or pass `-y' to ignore all ignorable checks.
error: cannot install while Rust is installed
warning: continuing (because the -y flag is set and the error is ignorable)
verbose: creating home directory: '/workspace/cerbero/build/rust/rustup'
info: profile set to 'minimal'
info: setting default host triple to x86_64-unknown-linux-gnu
verbose: creating update-hash directory: '/workspace/cerbero/build/rust/rustup/update-hashes'
verbose: installing toolchain 'stable-x86_64-unknown-linux-gnu'
verbose: toolchain directory: '/workspace/cerbero/build/rust/rustup/toolchains/stable-x86_64-unknown-linux-gnu'
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
verbose: creating temp root: /workspace/cerbero/build/rust/rustup/tmp
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/qmn6ytcbmpjuh1r1_file
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/channel-rust-stable.toml.sha256'
verbose: downloading with reqwest
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/qmn6ytcbmpjuh1r1_file
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/atax1pbvivg1ey3y_file.toml
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/channel-rust-stable.toml'
verbose: downloading with reqwest
verbose: checksum passed
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/atax1pbvivg1ey3y_file.toml
info: latest update on 2024-02-08, rust version 1.76.0 (07dca489a 2024-02-04)
info: downloading component 'cargo'
verbose: creating Download Directory directory: '/workspace/cerbero/build/rust/rustup/downloads'
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/2024-02-08/cargo-1.76.0-x86_64-unknown-linux-gnu.tar.xz'
verbose: downloading with reqwest
verbose: checksum passed
info: downloading component 'llvm-tools'
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/2024-02-08/llvm-tools-1.76.0-x86_64-unknown-linux-gnu.tar.xz'
verbose: downloading with reqwest
verbose: checksum passed
info: downloading component 'rust-std'
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rust-std-1.76.0-x86_64-unknown-linux-gnu.tar.xz'
verbose: downloading with reqwest
verbose: checksum passed
info: downloading component 'rustc'
verbose: downloading file from: 'file:///home/gitpod/.cache/cerbero-sources/dist/2024-02-08/rustc-1.76.0-x86_64-unknown-linux-gnu.tar.xz'
verbose: downloading with reqwest
verbose: checksum passed
info: installing component 'cargo'
verbose: creating temp directory: /workspace/cerbero/build/rust/rustup/tmp/43hv7iijye_ojhp4_dir
verbose: deleted temp directory: /workspace/cerbero/build/rust/rustup/tmp/43hv7iijye_ojhp4_dir
info: installing component 'llvm-tools'
verbose: creating temp directory: /workspace/cerbero/build/rust/rustup/tmp/t4jre_cittvoc8nv_dir
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/tzi6tts9gw3uo7dh_file
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/sp61xq5i28omdbn9_file
verbose: deleted temp directory: /workspace/cerbero/build/rust/rustup/tmp/t4jre_cittvoc8nv_dir
info: installing component 'rust-std'
verbose: creating temp directory: /workspace/cerbero/build/rust/rustup/tmp/luob665djem3zvg2_dir
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/sv3ylfw9qp62c3a8_file
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/3qswyzooa4rtb4ur_file
verbose: deleted temp directory: /workspace/cerbero/build/rust/rustup/tmp/luob665djem3zvg2_dir
info: installing component 'rustc'
verbose: creating temp directory: /workspace/cerbero/build/rust/rustup/tmp/qo7visjvixc4xrtc_dir
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/e7_r8rjmrvr2kxde_file
verbose: creating temp file: /workspace/cerbero/build/rust/rustup/tmp/b1mur7v_hoz9n7_m_file
verbose: deleted temp directory: /workspace/cerbero/build/rust/rustup/tmp/qo7visjvixc4xrtc_dir
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/tzi6tts9gw3uo7dh_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/sp61xq5i28omdbn9_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/sv3ylfw9qp62c3a8_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/3qswyzooa4rtb4ur_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/e7_r8rjmrvr2kxde_file
verbose: deleted temp file: /workspace/cerbero/build/rust/rustup/tmp/b1mur7v_hoz9n7_m_file
verbose: toolchain 'stable-x86_64-unknown-linux-gnu' installed
info: default toolchain set to 'stable-x86_64-unknown-linux-gnu'
Rust toolchain v1.76.0 installed at /workspace/cerbero/build/rust
Requirement already satisfied: setuptools in ./build/build-tools/lib/python3.10/site-packages (59.6.0)
Building the following recipes: m4 autoconf gettext-m4 automake libtool meson ninja pkg-config orc zlib cargo-c
Building using 4 job(s) with the following job subdivisions: 4 general job(s)
[(1/11) ninja -> built]
[(2/11) gettext-m4 -> built]
[(3/11) meson -> built]
[(3/11 @ 40%) FETCH: pkg-config EXTRACT: zlib CONFIGURE: m4, orc]
Recipe 'orc' failed at the build step 'configure'
Traceback (most recent call last):
File "/workspace/cerbero/cerbero/build/oven.py", line 494, in _cook_recipe_step
await ret
File "/workspace/cerbero/cerbero/build/recipe.py", line 103, in async_wrapped
await stepfunc()
File "/workspace/cerbero/cerbero/build/build.py", line 65, in async_call
res = await func(*args)
File "/workspace/cerbero/cerbero/build/build.py", line 1144, in configure
await shell.async_call(meson_cmd, self.meson_dir, logfile=self.logfile, env=self.env)
File "/workspace/cerbero/cerbero/utils/shell.py", line 265, in async_call
proc = await asyncio.create_subprocess_exec(
File "/usr/lib/python3.10/asyncio/subprocess.py", line 218, in create_subprocess_exec
transport, protocol = await loop.subprocess_exec(
File "/usr/lib/python3.10/asyncio/base_events.py", line 1681, in subprocess_exec
transport = await self._make_subprocess_transport(
File "/usr/lib/python3.10/asyncio/unix_events.py", line 207, in _make_subprocess_transport
transp = _UnixSubprocessTransport(self, protocol, args, shell,
File "/usr/lib/python3.10/asyncio/base_subprocess.py", line 36, in __init__
self._start(args=args, shell=shell, stdin=stdin, stdout=stdout,
File "/usr/lib/python3.10/asyncio/unix_events.py", line 799, in _start
self._proc = subprocess.Popen(
File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/workspace/cerbero/build/build-tools/bin/meson'
Select an action to proceed:
[0] Enter the shell
[1] Rebuild the recipe from scratch
[2] Rebuild starting from the failed step
[3] Skip recipe
[4] Abort
4
***** Error running 'bootstrap' command:
</pre>
</details>
Through `git bisect`, it's been revealed that it has been broken since commit 2a6ac79f5364 ("cerbero: Port from imp module to importlib module"). However, between that and commit 8401a3e44db3 ("cerbero: Fix some warnings about escaping with Python 3.12") (inclusive), it fails with this error instead:
```
Traceback (most recent call last):
File "/workspace/cerbero/build/build-tools/bin/meson", line 33, in <module>
sys.exit(load_entry_point('meson==1.2.3', 'console_scripts', 'meson')())
File "/workspace/cerbero/build/build-tools/bin/meson", line 22, in importlib_load_entry_point
for entry_point in distribution(dist_name).entry_points
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 969, in distribution
return Distribution.from_name(distribution_name)
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 548, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: No package metadata was found for meson
```
The new behavior starts popping up since commit ea8f91bb4b5d ("Stop using setuptools in a bunch of places, incl meson.recipe").
Perhaps a relavant information is that Ubuntu 22.04 contains Python 3.10.12.1.23.2https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/468msvc: gsttaglib.dll is looking for not-installed tag.dll2024-02-13T17:40:58ZSeungha Yangseungha@centricular.commsvc: gsttaglib.dll is looking for not-installed tag.dll`tag.dll` exists in build directory but not shipped by installer. Perhaps we are building shared library `tag.dll` unintentionally (instead of static lib) or need to ship `tag.dll`. Not sure what's intend direction.
![image](/uploads/88...`tag.dll` exists in build directory but not shipped by installer. Perhaps we are building shared library `tag.dll` unintentionally (instead of static lib) or need to ship `tag.dll`. Not sure what's intend direction.
![image](/uploads/8842b486fb3c4b346c60c428cf306a97/image.png)1.23.2https://gitlab.freedesktop.org/gstreamer/orc/-/issues/64SIGILL on aarch64 when setting volume2024-02-20T14:39:20ZFabio ManganielloSIGILL on aarch64 when setting volume### Describe your issue
```
$ gst-launch-1.0 -v -m audiotestsrc ! volume volume=0.5 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got message #7 from element "fakesink0" (state-changed): GstMessageStateChanged, ol...### Describe your issue
```
$ gst-launch-1.0 -v -m audiotestsrc ! volume volume=0.5 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got message #7 from element "fakesink0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
Got message #8 from element "volume0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
Got message #9 from element "audiotestsrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
Got message #10 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)paused;
Got message #12 from element "volume0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
Got message #15 from pad "audiotestsrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)create, owner=(GstElement)"\(GstAudioTestSrc\)\ audiotestsrc0", object=(GstTask)"\(GstTask\)\ audiotestsrc0:src";
Got message #16 from element "audiotestsrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
Got message #17 from pad "audiotestsrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)enter, owner=(GstElement)"\(GstAudioTestSrc\)\ audiotestsrc0", object=(GstTask)"\(GstTask\)\ audiotestsrc0:src";
Got message #18 from element "pipeline0" (stream-start): GstMessageStreamStart, group-id=(uint)1;
Got message #22 from pad "audiotestsrc0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1";
/GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1
Got message #24 from pad "volume0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1";
/GstPipeline:pipeline0/GstVolume:volume0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1
Got message #25 from pad "fakesink0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1";
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1
Got message #26 from pad "volume0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1";
/GstPipeline:pipeline0/GstVolume:volume0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1
Got message #30 from element "fakesink0" (tag): GstMessageTag, taglist=(taglist)"taglist\,\ description\=\(string\)\"audiotest\\\ wave\"\;";
[1] 1587 illegal hardware instruction (core dumped) gst-launch-1.0 -v -m audiotestsrc ! volume volume=0.5 ! fakesink
```
#### Expected Behavior
Setting the volume of a pipeline shouldn't cause the application to crash.
#### Observed Behavior
The application crashed with SIGILL.
#### Setup
- **Operating System:** Arch Linux ARM aarch64
- **Device:** Raspberry Pi 5
- **GStreamer Version:** 1.22.9, installed via pacman
- **Command line:** Any command line involving the `volume` element
### Steps to reproduce the bug
See the command line above for an example.
In my case it causes a crash in mopidy whenever the volume is changed via the software mixer.
### How reproducible is the bug?
Always, and very easy to reproduce.
### Screenshots if relevant
N/A
### Solutions you have tried
- Using Pipewire instead of Pulseaudio
- Using raw ALSA instead of Pulseaudio
- Disabling the HDMI audio output
- Tried over audio jack, USB audio card and Bluetooth audio
### Related non-duplicate issues
https://github.com/mopidy/mopidy/issues/2148
### Additional Information
- [Core dump of the `gst-launch-1.0` command](https://github.com/mopidy/mopidy/files/14225920/core.tar.gz)
- [Logs with `GST_DEBUG=9`](https://github.com/mopidy/mopidy/files/14226210/log.tar.gz)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3288SIGILL on aarch64 when setting volume2024-02-11T16:59:16ZFabio ManganielloSIGILL on aarch64 when setting volume### Describe your issue
```
$ gst-launch-1.0 -v -m audiotestsrc ! volume volume=0.5 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got message #7 from element "fakesink0" (state-changed): GstMessageStateChanged, ol...### Describe your issue
```
$ gst-launch-1.0 -v -m audiotestsrc ! volume volume=0.5 ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got message #7 from element "fakesink0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
Got message #8 from element "volume0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
Got message #9 from element "audiotestsrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)void-pending;
Got message #10 from element "pipeline0" (state-changed): GstMessageStateChanged, old-state=(GstState)null, new-state=(GstState)ready, pending-state=(GstState)paused;
Got message #12 from element "volume0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
Got message #15 from pad "audiotestsrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)create, owner=(GstElement)"\(GstAudioTestSrc\)\ audiotestsrc0", object=(GstTask)"\(GstTask\)\ audiotestsrc0:src";
Got message #16 from element "audiotestsrc0" (state-changed): GstMessageStateChanged, old-state=(GstState)ready, new-state=(GstState)paused, pending-state=(GstState)void-pending;
Got message #17 from pad "audiotestsrc0:src" (stream-status): GstMessageStreamStatus, type=(GstStreamStatusType)enter, owner=(GstElement)"\(GstAudioTestSrc\)\ audiotestsrc0", object=(GstTask)"\(GstTask\)\ audiotestsrc0:src";
Got message #18 from element "pipeline0" (stream-start): GstMessageStreamStart, group-id=(uint)1;
Got message #22 from pad "audiotestsrc0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1";
/GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1
Got message #24 from pad "volume0:src" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1";
/GstPipeline:pipeline0/GstVolume:volume0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1
Got message #25 from pad "fakesink0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1";
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1
Got message #26 from pad "volume0:sink" (property-notify): GstMessagePropertyNotify, property-name=(string)caps, property-value=(GstCaps)"audio/x-raw\,\ format\=\(string\)S16LE\,\ layout\=\(string\)interleaved\,\ rate\=\(int\)44100\,\ channels\=\(int\)1";
/GstPipeline:pipeline0/GstVolume:volume0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1
Got message #30 from element "fakesink0" (tag): GstMessageTag, taglist=(taglist)"taglist\,\ description\=\(string\)\"audiotest\\\ wave\"\;";
[1] 1587 illegal hardware instruction (core dumped) gst-launch-1.0 -v -m audiotestsrc ! volume volume=0.5 ! fakesink
```
#### Expected Behavior
Setting the volume of a pipeline shouldn't cause the application to crash.
#### Observed Behavior
The application crashed with SIGILL.
#### Setup
- **Operating System:** Arch Linux ARM aarch64
- **Device:** Raspberry Pi 5
- **GStreamer Version:** 1.22.9, installed via pacman
- **Command line:** Any command line involving the `volume` element
### Steps to reproduce the bug
See the command line above for an example.
In my case it causes a crash in mopidy whenever the volume is changed via the software mixer.
### How reproducible is the bug?
Always, and very easy to reproduce.
### Screenshots if relevant
N/A
### Solutions you have tried
- Using Pipewire instead of Pulseaudio
- Using raw ALSA instead of Pulseaudio
- Disabling the HDMI audio output
- Tried over audio jack, USB audio card and Bluetooth audio
### Related non-duplicate issues
https://github.com/mopidy/mopidy/issues/2148
### Additional Information
- [Core dump of the `gst-launch-1.0` command](https://github.com/mopidy/mopidy/files/14225920/core.tar.gz)
- [Logs with `GST_DEBUG=9`](https://github.com/mopidy/mopidy/files/14226210/log.tar.gz)https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1040sdp: add source-filter in SDP information generated by gstreamer2024-02-10T16:46:42Zbigbrobrodysdp: add source-filter in SDP information generated by gstreamerEnhancement: Add support for SDP source-filter field as per RFC 4570.
The source-filter line should be added when a source-specific multicast (SSM) address is being used by the server.
As per RFC 3569 The address range 232/8 has been ass...Enhancement: Add support for SDP source-filter field as per RFC 4570.
The source-filter line should be added when a source-specific multicast (SSM) address is being used by the server.
As per RFC 3569 The address range 232/8 has been assigned by IANA for SSM service in IPv4. For IPv6, the range FF3x::/96 is defined for SSM services.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3287srt: If we build with srt disabled we will get complaints about srt_dep2024-02-09T18:33:05ZJonas Danielssonsrt: If we build with srt disabled we will get complaints about srt_dep```plaintext
../subprojects/gst-plugins-bad/tests/check/meson.build:72:35: ERROR: Unknown variable "srt_dep".
``````plaintext
../subprojects/gst-plugins-bad/tests/check/meson.build:72:35: ERROR: Unknown variable "srt_dep".
```Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.comhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3286GStreamer 1.23.2 unstable development snapshot release tracker2024-02-19T19:51:34ZTim-Philipp Müllertim@centricular.comGStreamer 1.23.2 unstable development snapshot release tracker# Milestone 1.23.2
- Milestone 1.23.2 Overview: %1.23.2
- ETA: 12-16 Feb 2024
# Todo
- [~] [Merge Requests with `Needs backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?scope=all&state=merged&label_name...# Milestone 1.23.2
- Milestone 1.23.2 Overview: %1.23.2
- ETA: 12-16 Feb 2024
# Todo
- [~] [Merge Requests with `Needs backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?scope=all&state=merged&label_name[]=Needs%20backport¬[label_name][]=Backported%20into%201.20)
- [~] [Issues with `Needs backport` label](https://gitlab.freedesktop.org/groups/gstreamer/-/issues?scope=all&utf8=%E2%9C%93&state=all&label_name[]=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[]=Maybe%20backport)
- [x] [Merge Requests with `1.23.2` milestone](https://gitlab.freedesktop.org/groups/gstreamer/-/merge_requests?milestone_title=1.23.2)
- [x] [Issues with `1.23.2` milestone](https://gitlab.freedesktop.org/groups/gstreamer/-/issues?milestone_title=1.23.2)
- [x] [Issues with `Security` label](https://gitlab.freedesktop.org/groups/gstreamer/-/issues?scope=all&utf8=%E2%9C%93&state=all&label_name[]=Security)
- [x] Blockers / Todo
- [ ] theoradec regression: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4752
- [x] h264parse regression: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3264 (soft blocker for 1.23.2, hard for 1.23.90)
# Prep
- [x] gst-plugins-rs (1.24 will target 0.12 branch)
- [x] make sure `0.12` branch is up-to-date with regards to backports
- [x] update `Cargo.lock` in `0.12` branch (if needed)
- [x] double-check version in `meson.build` matches version in `Cargo.toml`
- [x] add `gstreamer-1.23.2` tag pointing to current tip of `0.12` branch
- [x] www: add release note entry and add contributors
- [x] update translations
# GStreamer
- [x] MR / commit for release
- [x] tag release
- [x] upload tarballs (plus checksums and GPG signatures)
- [x] back to dev
# Cerbero
- [x] build 1.23.2 tag
- [x] binaries
- [x] Windows x86 MinGW + MSVC (@nirbheek)
- [x] Windows x86_64 MinGW + MSVC (@nirbheek)
- [x] Windows UWP release-crt + debug-crt (@nirbheek)
- [x] Android (@thaytan)
- [x] macOS (@ystreet)
- [x] iOS (@ystreet)
- [x] source bundle (@thaytan)
- [x] check for sha265sums for binaries
- [x] check for GPG signatures for binaries
- [x] tag cerbero (@tpm)
- [x] build `main` branch again
- [~] ~~update download section on website~~ (not advertising unstable binaries at the moment)
- [x] announce binaries (twitter, gstreamer-devel)
# Announce
- [x] Mailing lists
- [x] Website: news item
- [x] Twitter (@tpm)
- [x] Mastodon (@slomo)
- [x] IRC channel topic
- [x] Discourse
# Post release
- [x] add 1.23.90 milestone
- [x] add 1.23.90 tracker issue
- [~] after 1.24.0 make sure gst-plugins-rs and orc wrap follow `main` branch again1.23.2Tim-Philipp Müllertim@centricular.comTim-Philipp Müllertim@centricular.com2024-02-13https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3285[Regression] good: qt6 plugin fails to build since replacing `configure_file`...2024-02-09T07:58:04ZMarvin Schmidt[Regression] good: qt6 plugin fails to build since replacing `configure_file` with `fs.copyfile`Trying to build current HEAD (60d9cfc95413c3075fc52c3ff4ae628f41e86b02) of gst-plugins-good with the qt6 plugin enabled fails with the following error for me (happens when running `ninja` after successful `meson setup`):
```
ninja: error...Trying to build current HEAD (60d9cfc95413c3075fc52c3ff4ae628f41e86b02) of gst-plugins-good with the qt6 plugin enabled fails with the following error for me (happens when running `ninja` after successful `meson setup`):
```
ninja: error: '/var/tmp/paludis/build/media-plugins-gst-plugins-good-scm/work/gst-plugins-good-scm/subprojects/gst-plugins-good/ext/qt6/R
GBA.frag.qsb', needed by 'ext/qt6/qt6-resources_qrc.cpp', missing and no known rule to make it
```
This is on Linux using meson 1.3.1:
```
The Meson build system
Version: 1.3.1
Source dir: /var/tmp/paludis/build/media-plugins-gst-plugins-good-scm/work/gst-plugins-good-scm/subprojects/gst-plugins-good
Build dir: /var/tmp/paludis/build/media-plugins-gst-plugins-good-scm/work/_build
[...]
```
Reverting the changes from commit f6f448bb80d05b84daff8943641b920fd661cd35 makes it work again, but re-introduces the warning about using `configure_file`'s deprecated `copy` argument.
It looks like meson uses the `resources.qrc` in the source directory instead of the build directory and subsequently tries to find the compiled shader files specified in the Qt resource file in the source directory as well. But I'm not sure about that as I'm not really familiar with meson's internals1.23.2https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3284vah265dec - green image with raw output to timeoverlay2024-02-16T13:56:51ZJan Schmidtvah265dec - green image with raw output to timeoverlayI found that here, `va265dec` is producing a green frame when fed through `timeoverlay` to `xvimagesink`, but works without `timeoverlay`.
May be related to #2940, I'm not sure.
Works: `gst-play-1.0 test-h265.mp4 --videosink="xvimagesi...I found that here, `va265dec` is producing a green frame when fed through `timeoverlay` to `xvimagesink`, but works without `timeoverlay`.
May be related to #2940, I'm not sure.
Works: `gst-play-1.0 test-h265.mp4 --videosink="xvimagesink"`
Shows only green frame with time overlay: `gst-play-1.0 test-h265.mp4 --videosink="timeoverlay ! xvimagesink"
```
vainfo: VA-API version: 1.18 (libva 2.18.2)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.6 ()
```
GST_DEBUG has a lot of
```
0:00:01.824542742 471874 0x7fa5a8001180 DEBUG vamemory gstvaallocator.c:1587:_va_copy: 0x7fa5a01956d0: copy 0, 18446744073709551615
0:00:01.824839743 471874 0x7fa5a8001180 INFO vadisplay vasurfaceimage.c:414:va_copy_surface: vaCopy: invalid parameter
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3283aja: Global named semaphore is never unlinked2024-02-15T10:08:47ZXavier Claessensxclaesse@gmail.comaja: Global named semaphore is never unlinkedAJA plugin has a global named semaphore created with `sem_open("/gstreamer-aja-sem", O_CREAT, S_IRUSR | S_IWUSR, 1);`. That ensures that not 2 processes can configure the device concurrently. However, that semaphore is never closed/unlin...AJA plugin has a global named semaphore created with `sem_open("/gstreamer-aja-sem", O_CREAT, S_IRUSR | S_IWUSR, 1);`. That ensures that not 2 processes can configure the device concurrently. However, that semaphore is never closed/unlinked which means the first user to create the semaphore owns it until reboot. Other users get error `Failed to create SHM semaphore for GStreamer AJA plugin: Permission denied`. This is a problem in our project because the service running in prod runs under a different user (less privileged) than developers that could be running tests with e.g. gst-launch.
In addition, I think the semaphore name should include the `device-identifier` property. It should be a per-device lock and not global.https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/490Segmentation fault running `gst-inspect -a` when libgstgtk4.so is installed2024-02-12T17:07:17ZRubén GonzalezSegmentation fault running `gst-inspect -a` when libgstgtk4.so is installed### Describe your issue
Segmentation fault when getting default value of `paintable` property from `gtk4paintablesink` element:
> cannot register existing type 'GdkDisplayManager'
#### Expected Behavior
No Segmentation fault
#### Ob...### Describe your issue
Segmentation fault when getting default value of `paintable` property from `gtk4paintablesink` element:
> cannot register existing type 'GdkDisplayManager'
#### Expected Behavior
No Segmentation fault
#### Observed Behavior
Segmentation fault
#### Setup
- **Operating System:** Arch
- **gst-plugins-rs Version:** main
- **GStreamer Version:** 1.22.9
- **Command line:** `gst-inspect-1.0 -a`
### Steps to reproduce the bug
Easily reproducible with:
```
mkdir lib
cp /usr/lib/gstreamer-1.0/libgstgtk4.so lib
cp /usr/lib/gstreamer-1.0/libgstgtk.so lib
G_DEBUG=fatal-warnings GST_PLUGIN_SYSTEM_PATH=$(realpath lib ) GST_INSPECT_NO_COLORS=true PAGER=cat gst-inspect-1.0 -a
```
### How reproducible is the bug?
Always
`libgstgtk4.so` uses `libgtk-4.so.1` and `libgstgtk.so` uses `libgtk-3.so.0`
### Additional Information
<details><summary>gdb backtrace</summary>
```
Thread 1 "gst-inspect-1.0" received signal SIGTRAP, Trace/breakpoint trap.
g_logv (log_domain=0x7ffff7cd4015 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd0a0) at ../glib/glib/gmessages.c:1423
1423 g_private_set (&g_log_depth, GUINT_TO_POINTER (depth));
(gdb) bt
#0 g_logv (log_domain=0x7ffff7cd4015 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7fffffffd0a0) at ../glib/glib/gmessages.c:1423
#1 0x00007ffff7d54724 in g_log (log_domain=log_domain@entry=0x7ffff7cd4015 "GLib-GObject", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7ffff7cdbea8 "cannot register existing type '%s'") at ../glib/glib/gmessages.c:1461
#2 0x00007ffff7cc604e in check_type_name_I (type_name=0x7ffff6f250e8 "GdkDisplayManager") at ../glib/gobject/gtype.c:791
#3 0x00007ffff7ccd52f in g_type_register_static (parent_type=parent_type@entry=0x50, type_name=0x7ffff6f250e8 "GdkDisplayManager", info=info@entry=0x7fffffffd1f0, flags=flags@entry=G_TYPE_FLAG_NONE) at ../glib/gobject/gtype.c:2881
#4 0x00007ffff7ccd789 in g_type_register_static_simple
(flags=G_TYPE_FLAG_NONE, instance_init=0x7fffea62dae0 <gdk_display_manager_init>, instance_size=40, class_init=0x7fffea635270 <gdk_display_manager_class_intern_init>, class_size=144, type_name=<optimized out>, parent_type=0x50) at ../glib/gobject/gtype.c:2849
#5 g_type_register_static_simple
(parent_type=parent_type@entry=0x50, type_name=<optimized out>, class_size=class_size@entry=144, class_init=class_init@entry=0x7fffea635270 <gdk_display_manager_class_intern_init>, instance_size=instance_size@entry=40, instance_init=instance_init@entry=0x7fffea62dae0 <gdk_display_manager_init>, flags=G_TYPE_FLAG_NONE) at ../glib/gobject/gtype.c:2822
#6 0x00007fffea62e10e in gdk_display_manager_get_type_once () at ../gtk/gdk/gdkdisplaymanager.c:123
#7 0x00007fffea62f695 in gdk_display_manager_get_type () at ../gtk/gdk/gdkdisplaymanager.c:123
#8 0x00007fffea62f6f2 in gdk_display_manager_get () at ../gtk/gdk/gdkdisplaymanager.c:298
#9 0x00007fffea62f7ce in gdk_display_get_default () at ../gtk/gdk/gdkdisplaymanager.c:332
#10 0x00007ffff2aeb00a in ??? () at /home/tmp/GdkDisplayManager/ws/lib/libgstgtk4.so
#11 0x00007ffff7d4c9e5 in g_main_context_invoke_full (context=0x5555555934e0, priority=200, function=0x7ffff2aeae50, data=0x55555573c360, notify=0x7ffff2aed4f0) at ../glib/glib/gmain.c:6549
#12 0x00007ffff2ad413d in ??? () at /home/tmp/GdkDisplayManager/ws/lib/libgstgtk4.so
#13 0x00007ffff2aed96f in ??? () at /home/tmp/GdkDisplayManager/ws/lib/libgstgtk4.so
#14 0x00007ffff7cb5ecc in object_get_property (value=0x7fffffffdd00, pspec=0x55555574b810, object=0x555555750fc0) at ../glib/gobject/gobject.c:1779
#15 g_object_get_property (object=0x555555750fc0, property_name=<optimized out>, value=0x7fffffffdd00) at ../glib/gobject/gobject.c:3093
#16 0x0000555555559786 in print_object_properties_info (obj=obj@entry=0x555555750fc0, obj_class=0x5555556d3700, desc=desc@entry=0x55555555f6e1 "Element Properties") at ../gstreamer/subprojects/gstreamer/tools/gst-inspect.c:461
#17 0x000055555555bbcb in print_element_properties_info (element=0x555555750fc0 [GstElement|gtk4paintablesink0]) at ../gstreamer/subprojects/gstreamer/tools/gst-inspect.c:799
#18 print_element_info (feature=feature@entry=0x555555592390 [GstPluginFeature|gtk4paintablesink], print_names=print_names@entry=1) at ../gstreamer/subprojects/gstreamer/tools/gst-inspect.c:1773
#19 0x000055555555de3c in print_element_list (ftypes=<optimized out>, print_all=1) at ../gstreamer/subprojects/gstreamer/tools/gst-inspect.c:1389
#20 real_main (argc=<optimized out>, argv=<optimized out>) at ../gstreamer/subprojects/gstreamer/tools/gst-inspect.c:2317
#21 0x00007ffff7ad3cd0 in __libc_start_call_main (main=main@entry=0x555555558020 <main>, argc=argc@entry=2, argv=argv@entry=0x7fffffffe2e8) at ../sysdeps/nptl/libc_start_call_main.h:58
#22 0x00007ffff7ad3d8a in __libc_start_main_impl (main=0x555555558020 <main>, argc=2, argv=0x7fffffffe2e8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe2d8) at ../csu/libc-start.c:360
#23 0x0000555555558055 in _start ()
```
</details>https://gitlab.freedesktop.org/gstreamer/orc/-/issues/63Suspicious crash after GStreamer upgrade to 1.22.9 on M32024-02-09T00:59:29ZtomaszmiSuspicious crash after GStreamer upgrade to 1.22.9 on M3The discussion has started here:
https://discourse.gstreamer.org/t/suspicious-crash-after-gstreamer-upgrade-to-1-22-9-on-m3/928/2
Summarizing:
Recently I upgraded GStreamer on an M3 macbook to the recent 1.22.9 version and my app runnin...The discussion has started here:
https://discourse.gstreamer.org/t/suspicious-crash-after-gstreamer-upgrade-to-1-22-9-on-m3/928/2
Summarizing:
Recently I upgraded GStreamer on an M3 macbook to the recent 1.22.9 version and my app running a simple pipeline started to crash while was working fine prior to the upgrade. While investigating the issue I noticed that even the basic tutorial app (gst-docs/examples/tutorials/basic-tutorial-2.c at master · GStreamer/gst-docs · GitHub) crashes as well.
```
pkg-config --libs --cflags gstreamer-1.0
-I/opt/homebrew/Cellar/gstreamer/1.22.9/include/gstreamer-1.0 -I/opt/homebrew/Cellar/glib/2.78.4/include -I/opt/homebrew/Cellar/glib/2.78.4/include/glib-2.0 -I/opt/homebrew/Cellar/glib/2.78.4/lib/glib-2.0/include -I/opt/homebrew/opt/gettext/include -I/opt/homebrew/Cellar/pcre2/10.42/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/ffi -L/opt/homebrew/Cellar/gstreamer/1.22.9/lib -L/opt/homebrew/Cellar/glib/2.78.4/lib -L/opt/homebrew/opt/gettext/lib -lgstreamer-1.0 -Wl,-rpath,/opt/homebrew/Cellar/gstreamer/1.22.9/lib -lgobject-2.0 -lglib-2.0 -lintl
clang basic-tutorial-2.c $(pkg-config --libs --cflags gstreamer-1.0) --debug -g0 -glldb -fsanitize=address
./a.out
AddressSanitizer:DEADLYSIGNAL
=================================================================
==20579==ERROR: AddressSanitizer: BUS on unknown address (pc 0x000103a2e6d4 bp 0x00016d479db0 sp 0x00016d479560 T7)
==20579==The signal is caused by a WRITE memory access.
==20579==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used.
#0 0x103a2e6d4 in __sanitizer::internal_memmove(void*, void const*, unsigned long)+0x134 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x6a6d4)
#1 0x10817ff28 in orc_program_compile_full+0x105c (liborc-0.4.0.dylib:arm64+0x3f28)
#2 0x102f045e0 in video_test_src_orc_splat_u32+0xb8 (libgstvideotestsrc.dylib:arm64+0x45e0)
#3 0x102f06b04 in gst_video_test_src_smpte+0xec (libgstvideotestsrc.dylib:arm64+0x6b04)
#4 0x102f0691c in fill_image+0x6c (libgstvideotestsrc.dylib:arm64+0x691c)
#5 0x102f063fc in gst_video_test_src_fill+0x9c (libgstvideotestsrc.dylib:arm64+0x63fc)
#6 0x108133bfc in gst_base_src_default_create+0x7c (libgstbase-1.0.0.dylib:arm64+0x33bfc)
#7 0x1081353e8 in gst_base_src_get_range+0x104 (libgstbase-1.0.0.dylib:arm64+0x353e8)
#8 0x108134cb8 in gst_base_src_loop+0x428 (libgstbase-1.0.0.dylib:arm64+0x34cb8)
#9 0x1032d3474 in gst_task_func+0x118 (libgstreamer-1.0.0.dylib:arm64+0x8b474)
#10 0x1034f8e74 in g_thread_pool_thread_proxy+0xcc (libglib-2.0.0.dylib:arm64+0x60e74)
#11 0x1034f7dd0 in g_thread_proxy+0x40 (libglib-2.0.0.dylib:arm64+0x5fdd0)
#12 0x184312030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#13 0x18430ce38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
==20579==Register values:
x[0] = 0x000000010c1b8000 x[1] = 0x0000000107614800 x[2] = 0x00000000000000c3 x[3] = 0x0000000000000018
x[4] = 0x00000001060e03b8 x[5] = 0x0000000000000000 x[6] = 0x000000016d3f8000 x[7] = 0x0000000000000001
x[8] = 0x00000000000000c0 x[9] = 0x00000000000000a3 x[10] = 0x000000010c1b80a3 x[11] = 0x0000000107614800
x[12] = 0x00000000000000c0 x[13] = 0x00000001076148a3 x[14] = 0x0000000000007e01 x[15] = 0x0000000000000006
x[16] = 0x00000001039dec7c x[17] = 0x0000000103a68750 x[18] = 0x0000000000000000 x[19] = 0x00000000000000c3
x[20] = 0x0000000107614800 x[21] = 0x000000010c1b8000 x[22] = 0x000000010820d5ac x[23] = 0x0000000000000060
x[24] = 0x0000000104491aa8 x[25] = 0x0000000000000082 x[26] = 0x000000010870c250 x[27] = 0x0000000108706200
x[28] = 0x000000010870d100 fp = 0x000000016d479db0 lr = 0x00000001039ded5c sp = 0x000000016d479560
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: BUS (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x6a6d4) in __sanitizer::internal_memmove(void*, void const*, unsigned long)+0x134
Thread T7 created by T6 here:
#0 0x103a101b0 in wrap_pthread_create+0x54 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x4c1b0)
#1 0x10351dc28 in g_system_thread_new+0x120 (libglib-2.0.0.dylib:arm64+0x85c28)
#2 0x1034f82b8 in g_thread_pool_spawn_thread+0x90 (libglib-2.0.0.dylib:arm64+0x602b8)
#3 0x1034f7dd0 in g_thread_proxy+0x40 (libglib-2.0.0.dylib:arm64+0x5fdd0)
#4 0x184312030 in _pthread_start+0x84 (libsystem_pthread.dylib:arm64e+0x7030)
#5 0x18430ce38 in thread_start+0x4 (libsystem_pthread.dylib:arm64e+0x1e38)
Thread T6 created by T0 here:
#0 0x103a101b0 in wrap_pthread_create+0x54 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x4c1b0)
#1 0x10351dc28 in g_system_thread_new+0x120 (libglib-2.0.0.dylib:arm64+0x85c28)
#2 0x1034f7e50 in g_thread_new+0x30 (libglib-2.0.0.dylib:arm64+0x5fe50)
#3 0x1034f8158 in g_thread_pool_new_full+0xe0 (libglib-2.0.0.dylib:arm64+0x60158)
#4 0x1032d3e48 in default_prepare+0x3c (libgstreamer-1.0.0.dylib:arm64+0x8be48)
#5 0x1032d31e4 in gst_task_init+0x90 (libgstreamer-1.0.0.dylib:arm64+0x8b1e4)
#6 0x10319f6cc in g_type_create_instance+0x16c (libgobject-2.0.0.dylib:arm64+0x236cc)
#7 0x10318c20c in g_object_new_internal+0x40 (libgobject-2.0.0.dylib:arm64+0x1020c)
#8 0x10318bab8 in g_object_new_with_properties+0x1c8 (libgobject-2.0.0.dylib:arm64+0xfab8)
#9 0x1032d2640 in gst_task_new+0x2c (libgstreamer-1.0.0.dylib:arm64+0x8a640)
#10 0x1032a6528 in gst_pad_start_task+0xdc (libgstreamer-1.0.0.dylib:arm64+0x5e528)
#11 0x10813166c in gst_base_src_perform_seek+0x2fc (libgstbase-1.0.0.dylib:arm64+0x3166c)
#12 0x1081310a8 in gst_base_src_start_complete+0x198 (libgstbase-1.0.0.dylib:arm64+0x310a8)
#13 0x10813703c in gst_base_src_start+0x1e4 (libgstbase-1.0.0.dylib:arm64+0x3703c)
#14 0x1081342f8 in gst_base_src_activate_mode+0xc8 (libgstbase-1.0.0.dylib:arm64+0x342f8)
#15 0x10329bb6c in activate_mode_internal+0x2dc (libgstreamer-1.0.0.dylib:arm64+0x53b6c)
#16 0x10329b66c in gst_pad_set_active+0x14c (libgstreamer-1.0.0.dylib:arm64+0x5366c)
#17 0x103283de0 in activate_pads+0x24 (libgstreamer-1.0.0.dylib:arm64+0x3bde0)
#18 0x103292ba8 in gst_iterator_fold+0x6c (libgstreamer-1.0.0.dylib:arm64+0x4aba8)
#19 0x103283d6c in iterator_activate_fold_with_resync+0x54 (libgstreamer-1.0.0.dylib:arm64+0x3bd6c)
#20 0x103283b70 in gst_element_pads_activate+0x40 (libgstreamer-1.0.0.dylib:arm64+0x3bb70)
#21 0x103282c20 in gst_element_change_state_func+0x184 (libgstreamer-1.0.0.dylib:arm64+0x3ac20)
#22 0x1081320d8 in gst_base_src_change_state+0x7c (libgstbase-1.0.0.dylib:arm64+0x320d8)
#23 0x103281740 in gst_element_change_state+0xd8 (libgstreamer-1.0.0.dylib:arm64+0x39740)
#24 0x103282e8c in gst_element_set_state_func+0x168 (libgstreamer-1.0.0.dylib:arm64+0x3ae8c)
#25 0x10325cb88 in gst_bin_change_state_func+0x3f4 (libgstreamer-1.0.0.dylib:arm64+0x14b88)
#26 0x1032aafbc in gst_pipeline_change_state+0x160 (libgstreamer-1.0.0.dylib:arm64+0x62fbc)
#27 0x103281740 in gst_element_change_state+0xd8 (libgstreamer-1.0.0.dylib:arm64+0x39740)
#28 0x1032818ec in gst_element_change_state+0x284 (libgstreamer-1.0.0.dylib:arm64+0x398ec)
#29 0x103282e8c in gst_element_set_state_func+0x168 (libgstreamer-1.0.0.dylib:arm64+0x3ae8c)
#30 0x102ccb408 in main basic-tutorial-2.c:38
#31 0x183f910dc (<unknown module>)
==20579==ABORTING
zsh: abort ./a.out
```
As requested, the following is the output generated with the ORC_DEBUG=5:
```
ORC_DEBUG=5 ./a.out
ORC: INFO: ../orc/orcdebug.c(72): void _orc_debug_init(void)(): orc-0.4.36 debug init
ORC: DEBUG: ../orc/orccpu-arm.c(130): unsigned long orc_cpu_arm_getflags_cpuinfo()(): Failed to read /proc/cpuinfo
ORC: INFO: ../orc/orcprogram-neon.c(137): void orc_neon_init(void)(): marking neon backend non-executable
ORC: INFO: ../orc/orccompiler.c(308): OrcCompileResult orc_program_compile_full(OrcProgram *, OrcTarget *, unsigned int)(): initializing compiler for program "video_test_src_orc_splat_u32"
ORC: LOG: ../orc/orccompiler.c(340): OrcCompileResult orc_program_compile_full(OrcProgram *, OrcTarget *, unsigned int)(): variables
ORC: LOG: ../orc/orccompiler.c(347): OrcCompileResult orc_program_compile_full(OrcProgram *, OrcTarget *, unsigned int)(): 0: d size 4 type 2 alloc 0
ORC: LOG: ../orc/orccompiler.c(347): OrcCompileResult orc_program_compile_full(OrcProgram *, OrcTarget *, unsigned int)(): 24: p size 4 type 4 alloc 0
ORC: LOG: ../orc/orccompiler.c(350): OrcCompileResult orc_program_compile_full(OrcProgram *, OrcTarget *, unsigned int)(): instructions
ORC: LOG: ../orc/orccompiler.c(357): OrcCompileResult orc_program_compile_full(OrcProgram *, OrcTarget *, unsigned int)(): 0: storel 0 0 24 0
ORC: INFO: ../orc/orccompiler.c(459): OrcCompileResult orc_program_compile_full(OrcProgram *, OrcTarget *, unsigned int)(): allocating code memory
ORC: INFO: ../orc/orccompiler.c(465): OrcCompileResult orc_program_compile_full(OrcProgram *, OrcTarget *, unsigned int)(): compiling for target "sse"
ORC: WARNING: ../orc/orccodemem.c(261): int orc_code_region_allocate_codemem_dual_map(OrcCodeRegion *, const char *, int)(): failed to create exec map '/Users/me/orcexec.z80whc'. err=1
ORC: WARNING: ../orc/orccodemem.c(261): int orc_code_region_allocate_codemem_dual_map(OrcCodeRegion *, const char *, int)(): failed to create exec map '/var/folders/mk/r99zwhtj1lb6ylpbl3gnk80h0000gn/T//orcexec.0eFrhD'. err=1
ORC: WARNING: ../orc/orccodemem.c(261): int orc_code_region_allocate_codemem_dual_map(OrcCodeRegion *, const char *, int)(): failed to create exec map '/tmp/orcexec.EEk3j0'. err=1
AddressSanitizer:DEADLYSIGNAL
```amysparkamysparkhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3277Memory leak in playbin when resetting URI on about-to-finish signal2024-02-07T14:33:51ZStephan WirthMemory leak in playbin when resetting URI on about-to-finish signal### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
<!-- For any GStreamer usage questions or application development support
please head over to our new GStreamer Discourse forum at
https:/...### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
<!-- 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 IRC channel on https://www.oftc.net -->
I'm using the 'about-to-finish' signal to reset the playbin's URI to create an infinite loop. The memory usage of that program increases over time.
Here's the code:
```C
// gs_loop_minimal_reset_uri.cpp
#include <gst/gst.h>
#include <iostream>
static void about_to_finish(GstElement* playbin, gpointer user_data)
{
auto uri = static_cast<char*>(user_data);
std::cout << "Bin about to finish, re-looping (reset uri): " << uri << std::endl;
g_object_set(G_OBJECT(playbin), "uri", uri, NULL);
}
int main(int argc, char *argv[])
{
if (argc < 2)
{
std::cout << "Usage: " << argv[0] << " <URI>" << std::endl;
return 1;
}
gst_init(NULL, NULL);
auto playbin = gst_element_factory_make("playbin", "myplaybin");
g_object_set(G_OBJECT(playbin), "uri", argv[1], NULL);
g_signal_connect(playbin, "about-to-finish", G_CALLBACK(about_to_finish), argv[1]);
if (gst_element_set_state(GST_ELEMENT(playbin), GST_STATE_PLAYING) == 0)
{
std::cerr << "Could not set state to playing for " << argv[1] << std::endl;
return 1;
}
std::cout << "Playback of " << argv[1] << " started." << std::endl;
auto main_loop = g_main_loop_new (NULL, FALSE);
g_main_loop_run (main_loop);
g_main_loop_unref (main_loop);
gst_object_unref(playbin);
gst_deinit();
return 0;
}
```
#### Expected Behavior
<!-- What did you expect to happen -->
Memory usage remains stable.
#### Observed Behavior
<!-- What actually happened -->
Memory usage increases over time.
#### Setup
- **Operating System:** Ubuntu 20.04
- **Device:** Computer
- **GStreamer Version:** libgstreamer-plugins-base1.0-dev 1.16.3-0ubuntu1.2, libgstreamer1.0-dev 1.16.3-0ubuntu1.1
- **Command line:** gs_loop_minimal_reset_uri 2s.wav # (using source above)
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. create `/tmp/gs_loop_minimal_reset_uri.cpp` with content from above
2. open terminal in `/tmp`
```
g++ gs_loop_minimal_reset_uri.cpp -o gs_loop_minimal_reset_uri `pkg-config --cflags --libs gstreamer-1.0`
timeout 300 valgrind --tool=massif ./gs_loop_minimal_reset_uri file:///path/to/my/audio.wav # use any short wav file
massif-visualizer massif.out.*
```
### How reproducible is the bug?
<!-- The reproducibility of the bug is Always/Intermittent/Only once after doing a very specific set of steps-->
Always
### Screenshots if relevant
Here's a massif-visualizer plot of a 5min playback of a 2s WAV file, created with `valgrind --tool=massif ...` as described above:
![image](/uploads/83026a6aba61b9506b910584b971717d/image.png)
![image](/uploads/a83db33bbc091e18974325890723568f/image.png)
### Solutions you have tried
`USE_PLAYBIN3=1`
![image](/uploads/cb7d1c54cb0def07459c315078f704dc/image.png)
### Related non-duplicate issues
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/1039hlsdemux2 fails with "Unsupported stream type" in 1.22, 1.20 worked2024-02-06T12:11:17ZHauke Mehrtenshlsdemux2 fails with "Unsupported stream type" in 1.22, 1.20 workedplaybin3 using hlsdemux2 fails to play some streams using gstreamer 1.22.9, but it works fine in gstreamer 1.20.4.
It fails like this:
````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/ra...playbin3 using hlsdemux2 fails to play some streams using gstreamer 1.22.9, but it works fine in gstreamer 1.20.4.
It fails like this:
````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
....
0:00:03.708010500 31341 0x7f6fc402ec80 WARN hlsdemux2 gsthlsdemux.c:1193:gst_hls_demux_typefind_stream:<hlsstream-variant> Unsupported stream type audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
0:00:03.708019788 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1603:gst_hls_demux_stream_handle_buffer:<hlsstream-variant> Returning error
0:00:03.708032271 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: Internal data stream error.
0:00:03.708039405 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0: Internal data stream error.
````
<details>
<summary>
Full log
</summary>
````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708; application/x-onvif-metadata
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ souphttpsrc0"
0:00:00.016016800 31341 0x558c8905ce90 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
0:00:00.714743378 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
0:00:00.714769808 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0.GstPad:sink: caps = application/x-hls
0:00:00.714987228 31341 0x7f6fc0000b70 INFO hlsdemux2 gsthlsdemux.c:889:gst_hls_demux_process_manifest:<hlsdemux2-0> Initial playlist location: http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8 (base uri: (null))
0:00:00.715031792 31341 0x7f6fc0000b70 INFO hlsdemux2 gsthlsdemux.c:934:gst_hls_demux_process_manifest:<hlsdemux2-0> Manifest processed, initial variant selected : `media-playlist`
0:00:00.715043324 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:875:gst_hls_demux_set_current_variant:<hlsdemux2-0> Setting variant 'media-playlist'
0:00:00.715050537 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:939:gst_hls_demux_process_manifest:<hlsdemux2-0> Manifest handled, now setting up streams
0:00:00.715057080 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:797:gst_hls_demux_setup_streams:<hlsdemux2-0> Setting up streams
0:00:00.715063983 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:713:create_main_variant_stream:<hlsdemux2-0> Creating main variant stream
0:00:00.715094159 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2096:setup_initial_playlist:<hlsdemux2-0> Setting up initial variant segment and time mapping
0:00:00.715105781 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:1995:gst_hls_demux_add_time_mapping:<hlsdemux2-0> New mapping, dsn:0 stream_time:0:00:00.000000000 pdt:(null)
0:00:00.715135527 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2365:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Updating fragment information, current_position:99:99:99.999999999
0:00:00.715148171 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2405:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Current segment stream_time +0:00:07.000000000
0:00:00.715157008 31341 0x7f6fc0000b70 DEBUG hlsdemux2 gsthlsdemux.c:2453:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Stream URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_276f.aac
0:00:00.715234113 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2480:gst_hls_demux_stream_can_start:<hlsstream-variant> is_variant:1 mappings:0x7f6fc4031560
0:00:00.715255544 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2983:gst_hls_demux_get_manifest_update_interval:<hlsdemux2-0> Returning update interval of 0:00:07.000000000
0:00:00.715274229 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2365:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Updating fragment information, current_position:0:00:07.000000000
0:00:00.715285700 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2405:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Current segment stream_time +0:00:07.000000000
0:00:00.715295469 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:2453:gst_hls_demux_stream_update_fragment_info:<hlsstream-variant> Stream URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_276f.aac
0:00:03.706684170 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1057:gst_hls_demux_stream_start_fragment:<hlsstream-variant> Fragment starting
0:00:03.706715459 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:358:gst_hls_demux_stream_clear_pending_data:<hlsstream-variant> force : 0
0:00:03.706729215 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1513:gst_hls_demux_stream_handle_buffer:<hlsstream-variant> buffer:0x7f6fb0006910 at_eos:0 do_typefind:1 uri:http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_276f.aac
0:00:03.707990863 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1187:gst_hls_demux_typefind_stream:<hlsstream-variant> Typefind result: audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050 prob:100
0:00:03.708010500 31341 0x7f6fc402ec80 WARN hlsdemux2 gsthlsdemux.c:1193:gst_hls_demux_typefind_stream:<hlsstream-variant> Unsupported stream type audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
0:00:03.708019788 31341 0x7f6fc402ec80 DEBUG hlsdemux2 gsthlsdemux.c:1603:gst_hls_demux_stream_handle_buffer:<hlsstream-variant> Returning error
0:00:03.708032271 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: Internal data stream error.
0:00:03.708039405 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux-stream.c:778:gst_adaptive_demux2_stream_parse_buffer:<hlsdemux2-0> error: streaming stopped, reason error (-5)
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0: Internal data stream error.
Additional debug info:
../ext/adaptivedemux2/gstadaptivedemux-stream.c(778): gst_adaptive_demux2_stream_parse_buffer (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0:
streaming stopped, reason error (-5)
ERROR: pipeline doesn't want to preroll.
0:00:03.708149753 31341 0x7f6fc402ec80 WARN typefind gsttypefindelement.c:1012:gst_type_find_element_chain_do_typefinding:<typefind> error: Stream doesn't contain enough data.
0:00:03.708165743 31341 0x7f6fc402ec80 WARN typefind gsttypefindelement.c:1012:gst_type_find_element_chain_do_typefinding:<typefind> error: Can't typefind stream
0:00:03.708190239 31341 0x7f6fc402ec80 WARN adaptivedemux2 gstadaptivedemux.c:1531:gst_adaptive_demux_handle_message:<hlsdemux2-0> Source posted error: 2036:4 Stream doesn't contain enough data. (../plugins/elements/gsttypefindelement.c(1012): gst_type_find_element_chain_do_typefinding (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux2:hlsdemux2-0/GstParseBin:parsebin0/GstTypeFindElement:typefind:
Can't typefind stream)
Setting pipeline to NULL ...
0:00:03.708456942 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
0:00:03.708472120 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:358:gst_hls_demux_stream_clear_pending_data:<hlsstream-variant> force : 1
0:00:03.708627533 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
0:00:03.708857417 31341 0x558c8905ce90 DEBUG hlsdemux2 gsthlsdemux.c:2607:gst_hls_demux_reset:<hlsdemux2-0> resetting
Freeing pipeline ...
# gst-launch-1.0 --version
gst-launch-1.0 version 1.22.9
GStreamer 1.22.9
Unknown package origin
#
`````
</details>
When I am using gstreamer 1.20.4 it works fine:
<details>
`````
# GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: ring-buffer-max-size = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: buffer-size = -1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: buffer-duration = -1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: use-buffering = true
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: download = false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: uri = http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0: connection-speed = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ souphttpsrc0"
0:00:00.016128581 24711 0x55878ea09250 WARN structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
0:00:00.753942138 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.753961104 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:00.753973939 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.753983908 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstHLSDemux:hlsdemux0.GstPad:sink: caps = application/x-hls
0:00:00.754075572 24711 0x7f74b8000b90 INFO hlsdemux gsthlsdemux.c:769:gst_hls_demux_process_manifest:<hlsdemux0> Initial playlist location: http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8 (base uri: (null))
0:00:00.754126619 24711 0x7f74b8000b90 INFO hlsdemux gsthlsdemux.c:802:gst_hls_demux_process_manifest:<hlsdemux0> selected http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8
0:00:00.754138762 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:607:gst_hls_demux_setup_streams:<hlsdemux0> Setting up streams
0:00:00.754149553 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:504:create_stream_for_playlist:<hlsdemux0> is_primary_playlist:1 selected:1 playlist name 'http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
0:00:00.754217903 24711 0x7f74b8000b90 DEBUG hlsdemux gsthlsdemux.c:1288:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f74ac02f1e0 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_2798.aac
0:00:00.754384119 24711 0x7f74b8000f70 DEBUG hlsdemux gsthlsdemux.c:1288:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f74ac02f1e0 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_2798.aac
0:00:00.755219176 24711 0x55878ea09250 WARN structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc1': gst.soup.session=context, session=(GstSoupSession)NULL;
0:00:02.744803106 24711 0x7f74b8001370 DEBUG hlsdemux gsthlsdemux.c:1014:gst_hls_demux_handle_buffer:<'':src_0> Typefind result: audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050 prob:100
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0.GstPad:src: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0.GstGhostPad:src_0: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstGhostPad:sink.GstProxyPad:proxypad3: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0.GstPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:src: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 0
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25232
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25232
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstTypeFindElement:typefind.GstPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstGhostPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:sink: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0.GstGhostPad:src_0.GstProxyPad:proxypad2: caps = audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25232
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
0:00:02.747615573 24711 0x7f74b8000d70 FIXME decodebin3 gstdecodebin3.c:1157:update_requested_selection:<decodebin3-0> Implement EXPOSE_ALL_MODE
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0/GstAacParse:aacparse0.GstPad:src: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstParsePad:src_0: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
0:00:02.747782851 24711 0x7f74b8000d70 FIXME decodebin3 gstdecodebin3-parse.c:433:unblock_pending_input:<decodebin3-0> Re-use existing input streams if/when possible
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstParseBin:parsebin0.GstParsePad:src_0.GstProxyPad:proxypad4: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: group-id = 2
0:00:02.748059798 24711 0x7f74b8001b70 FIXME decodebin3 gstdecodebin3.c:1662:get_output_for_slot:<decodebin3-0> emit autoplug-continue
0:00:02.748084946 24711 0x7f74b8001b70 FIXME decodebin3 gstdecodebin3.c:1665:get_output_for_slot:<decodebin3-0> Handle EXPOSE_ALL_MODE
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/GstMultiQueue:multiqueue0.GstMultiQueuePad:sink_0: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstConcat:audio-concat: active-pad = "\(GstConcatPad\)\ sink_0"
0:00:02.757517518 24711 0x7f74b8001b70 WARN alsa gstalsasink.c:874:gst_alsasink_open:<audiosink-actual-sink-alsa> Error -112 (Host is down) calling snd_pcm_open (&alsa->handle, alsa->device, SND_PCM_STREAM_PLAYBACK, SND_PCM_NONBLOCK)
0:00:02.757602680 24711 0x7f74b8001b70 WARN alsa gstalsasink.c:889:gst_alsasink_open:<audiosink-actual-sink-alsa> error: Could not open audio device for playback.
0:00:02.757679686 24711 0x7f74b8001b70 WARN alsa gstalsasink.c:889:gst_alsasink_open:<audiosink-actual-sink-alsa> error: Playback open error on device 'default': Host is down
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: volume = 1
/GstPlayBin3:playbin3-0/GstPlaySink:playsink: mute = false
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/avdec_aac:avdec_aac0.GstPad:sink: caps = audio/mpeg, framed=(boolean)true, mpegversion=(int)4, level=(string)1, base-profile=(string)lc, profile=(string)lc, rate=(int)22050, channels=(int)1, stream-format=(string)adts
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0/avdec_aac:avdec_aac0.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0.GstGhostPad:audio_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstConcat:audio-concat.GstPad:src: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:audio_sink.GstProxyPad:proxypad5: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstTee:audiotee.GstTeePad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:src_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink.GstProxyPad:proxypad11: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstStreamSyncPad:sink_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstTee:audiotee.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink.GstGhostPad:audio_sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstConcat:audio-concat.GstConcatPad:sink_0: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0.GstGhostPad:audio_0.GstProxyPad:proxypad7: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstDecodebin3:decodebin3-0.GstGhostPad:audio_0.GstProxyPad:proxypad6: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink.GstProxyPad:proxypad9: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstVolume:volume.GstPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink.GstProxyPad:proxypad8: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink/GstFakeSink:fake-audio-sink.GstPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src.GstProxyPad:proxypad10: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstVolume:volume.GstPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:sink: caps = audio/x-raw, rate=(int)44100, format=(string)F32LE, channels=(int)2, layout=(string)interleaved, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
/GstPlayBin3:playbin3-0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink: caps = audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved, rate=(int)44100, channels=(int)2, channel-mask=(bitmask)0x0000000000000003
Pipeline is PREROLLED ...
Prerolled, waiting for buffering to finish...
Redistribute latency...
Setting pipeline to PLAYING ...
0:00:02.825747419 24711 0x7f74b8000f70 DEBUG hlsdemux gsthlsdemux.c:1288:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f74ac02f1e0 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_2799.aac
New clock: GstSystemClock
0:00:02.826073088 24711 0x55878ea09250 WARN structure gststructure.c:2091:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc1': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25274
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25274
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: bitrate = 25274
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: high-watermark = 0.98999999999999999
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: low-watermark = 0.01
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-time = 5000000000
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3-0/GstURISourceBin:urisourcebin0/GstQueue2:queue2-0: max-size-bytes = 10485760
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:06.660847374
Setting pipeline to NULL ...
0:00:09.487712678 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.487798301 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.487982581 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.488078734 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.488423059 24711 0x55878ea09250 FIXME playbin3 gstplaybin3.c:3267:reconfigure_output:<playbin3-0> Release combiner
0:00:09.488768115 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1340:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.488858687 24711 0x55878ea09250 DEBUG hlsdemux gsthlsdemux.c:1359:gst_hls_demux_reset:<hlsdemux0> Streams aware : 0
Freeing pipeline ...
# gst-launch-1.0 --version
gst-launch-1.0 version 1.20.4
GStreamer 1.20.4
Unknown package origin
#
`````
</details>
I also tried the old hlsdemux plugin in 1.22.9 and it also fails:
<details>
`````
# GST_PLUGIN_FEATURE_RANK=hlsdemux:300 GST_DEBUG=3,hlsdemux2:5,hlsdemux:5 gst-launch-1.0 playbin3 -v uri='http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0: caps = video/x-raw(ANY); audio/x-raw(ANY); text/x-raw(ANY); subpicture/x-dvd; subpicture/x-dvb; subpicture/x-xsub; subpicture/x-pgs; closedcaption/x-cea-608; closedcaption/x-cea-708; application/x-onvif-metadata
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: source = "\(GstSoupHTTPSrc\)\ souphttpsrc0"
0:00:00.015572796 4889 0x557e75f8a330 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(GstSoupSession)NULL;
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = application/x-hls
0:00:00.734941579 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.734961116 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:00.734971065 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:00.734977728 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:00.735044884 4889 0x7f1cf8000b70 INFO hlsdemux gsthlsdemux.c:769:gst_hls_demux_process_manifest:<hlsdemux0> Initial playlist location: http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8 (base uri: (null))
/GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0/GstHLSDemux:hlsdemux0.GstPad:sink: caps = application/x-hls
0:00:00.735083627 4889 0x7f1cf8000b70 INFO hlsdemux gsthlsdemux.c:802:gst_hls_demux_process_manifest:<hlsdemux0> selected http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8
0:00:00.735092043 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:607:gst_hls_demux_setup_streams:<hlsdemux0> Setting up streams
0:00:00.735103414 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:504:create_stream_for_playlist:<hlsdemux0> is_primary_playlist:1 selected:1 playlist name 'http://live.ximalaya.com/radio-first-page-app/live/1661/24.m3u8'
0:00:00.735159119 4889 0x7f1cf8000b70 DEBUG hlsdemux gsthlsdemux.c:1297:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f1cfc02fb30 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_27a4.aac
0:00:00.735321264 4889 0x7f1cf8000f50 DEBUG hlsdemux gsthlsdemux.c:1297:gst_hls_demux_update_fragment_info:<hlsdemux0> Stream 0x7f1cfc02fb30 URI now http://broadcast.tx.xmcdn.com/live/1661_24_240206_000127_27a4.aac
0:00:00.735971318 4889 0x557e75f8a330 WARN structure gststructure.c:2093:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'GstSoupSession'
Got context from element 'souphttpsrc1': gst.soup.session=context, session=(GstSoupSession)NULL;
0:00:09.009718229 4889 0x7f1cf8001350 DEBUG hlsdemux gsthlsdemux.c:1014:gst_hls_demux_handle_buffer:<'':src_0> Typefind result: audio/mpeg, framed=(boolean)false, mpegversion=(int)4, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, channels=(int)1, rate=(int)22050 prob:100
0:00:09.009857261 4889 0x7f1cf8001350 WARN urisourcebin gsturisourcebin.c:761:new_demuxer_pad_added_cb:<urisourcebin0> error: Adaptive demuxer is not streams-aware, check your installation
ERROR: from element /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0: Your GStreamer installation is missing a plug-in.
Additional debug info:
../gst/playback/gsturisourcebin.c(761): new_demuxer_pad_added_cb (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin0:
Adaptive demuxer is not streams-aware, check your installation
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
0:00:09.010782102 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.010801178 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.010979423 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.010991957 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 1
0:00:09.011312971 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1349:gst_hls_demux_reset:<hlsdemux0> resetting
0:00:09.011326397 4889 0x557e75f8a330 DEBUG hlsdemux gsthlsdemux.c:1368:gst_hls_demux_reset:<hlsdemux0> Streams aware : 0
Freeing pipeline ...
# gst-launch-1.0 --version
gst-launch-1.0 version 1.22.9
GStreamer 1.22.9
Unknown package origin
#
`````
</details>https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/1011tcpserversrc thowing "pausing after gst_pad_push() = error" randomly in a pla...2024-02-06T12:06:16ZViranjan Pagartcpserversrc thowing "pausing after gst_pad_push() = error" randomly in a playing pipeline![file](/uploads/0b14917354ce8ee5b4b7006a7304e065/file.png)
source bin (containing tcpserversrc) has the logic to reconnect when data is not arriving from tcpclientsrc or source is disconnected
source bin is reset by putting it into NUL...![file](/uploads/0b14917354ce8ee5b4b7006a7304e065/file.png)
source bin (containing tcpserversrc) has the logic to reconnect when data is not arriving from tcpclientsrc or source is disconnected
source bin is reset by putting it into NULL and PLAYING state.
Suddenly when some buffers are consumed by the tcpserversrc then tvpserversrc throws error "pausing after gst_pad_push() = error"https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3274Build with Onnx support fail2024-02-06T07:48:47ZDaniel MorinBuild with Onnx support fail### Describe your issue
Build with Onnx support fail.
#### Expected Behavior
Build to succeed with Onnx support
#### Observed Behavior
```
Compiling C object subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectd...### Describe your issue
Build with Onnx support fail.
#### Expected Behavior
Build to succeed with Onnx support
#### Observed Behavior
```
Compiling C object subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectdetector.c.o
FAILED: subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectdetector.c.o
ccache cc -Isubprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p -Isubprojects/gst-plugins-bad/ext/onnx -I../subprojects/gst-plugins-bad/ext/onnx -Isubprojects/gst-plugins-bad -I../subprojec
ts/gst-plugins-bad -Isubprojects/gst-plugins-bad/gst-libs -I../subprojects/gst-plugins-bad/gst-libs -I../subprojects/gst-plugins-bad/gst-libs/gst/cuda/stub -Isubprojects/gstreamer/libs -I../
subprojects/gstreamer/libs -Isubprojects/gstreamer -I../subprojects/gstreamer -Isubprojects/gst-plugins-base/gst-libs -I../subprojects/gst-plugins-base/gst-libs -Isubprojects/orc -I../subpro
jects/orc -Isubprojects/gl-headers/abyss -I../subprojects/gl-headers/abyss -Isubprojects/gl-headers/wglext -I../subprojects/gl-headers/wglext -Isubprojects/gstreamer/libs/gst/base -Isubproje
cts/gstreamer/gst -Isubprojects/gst-plugins-base/gst-libs/gst/video -Isubprojects/gst-plugins-bad/gst-libs/gst/analytics -Isubprojects/gst-plugins-bad/gst-libs/gst/cuda -Isubprojects/gst-plu
gins-base/gst-libs/gst/gl -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/include/onnxruntime -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gu
dev-1.0 -I/usr/include/libdrm -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O0 -g -fvisibility=hidden -fno-strict-aliasing -DG_DISABLE_DEPRECATED -Wmissing-prototype
s -Wold-style-definition -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith
-fPIC -pthread -DHAVE_CONFIG_H -DHAVE_CUDA -MD -MQ subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectdetector.c.o -MF subprojects/gst-plugins-bad/ext/onnx/libgstonnx
.so.p/decoders_gstssdobjectdetector.c.o.d -o subprojects/gst-plugins-bad/ext/onnx/libgstonnx.so.p/decoders_gstssdobjectdetector.c.o -c ../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssd
objectdetector.c
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c: In function ‘get_guint32_at_index’:
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c:360:19: error: ‘GstTensor’ {aka ‘struct _GstTensor’} has no member named ‘type’
360 | switch (tensor->type) { \
| ^~
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c:382:1: note: in expansion of macro ‘DEFINE_GET_FUNC’
382 | DEFINE_GET_FUNC (guint32, UINT32_MAX)
| ^~~~~~~~~~~~~~~
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c: In function ‘get_float_at_index’:
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c:360:19: error: ‘GstTensor’ {aka ‘struct _GstTensor’} has no member named ‘type’
360 | switch (tensor->type) { \
| ^~
../subprojects/gst-plugins-bad/ext/onnx/decoders/gstssdobjectdetector.c:383:5: note: in expansion of macro ‘DEFINE_GET_FUNC’
383 | DEFINE_GET_FUNC (float, FLOAT_MAX)
| ^~~~~~~~~~~~~~~
```
#### Setup
Follow this [readme](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-bad/ext/onnx/README.md?ref_type=heads)
meson setup build/
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. Follow setup
2. type ```ninja -C build/```
### How reproducible is the bug?
always
### Screenshots if relevant
### Solutions you have tried
### Related non-duplicate issues
### Additional Information
<!-- Any other information such as logs. Make use of <details> for long output -->https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/348vaapi not work : no element "vaapih264dec"2024-02-05T07:56:05Zwols yangvaapi not work : no element "vaapih264dec"Hi
I am tying to use va-api on my computer.
But when I try
`gst-launch-1.0 rtspsrc location=rtsp://admin:123456@192.168.0.100:7070/stream1 latency=10 ! queue ! rtph264depay ! vaapih264dec ! videoconvert ! videoscale ! video/x-raw,width=6...Hi
I am tying to use va-api on my computer.
But when I try
`gst-launch-1.0 rtspsrc location=rtsp://admin:123456@192.168.0.100:7070/stream1 latency=10 ! queue ! rtph264depay ! vaapih264dec ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! autovideosink`
I got
`WARNING: erroneous pipeline: no element "vaapih264dec"`
Here is my setting
```
$ 5.15.0-92-generic #102~20.04.1-Ubuntu
$ gst-launch-1.0 --version
gst-launch-1.0 version 1.16.3
GStreamer 1.16.3
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0
$ export LIBVA_DRIVER_NAME=iHD
$ export GST_VAAPI_ALL_DRIVERS=1 # if don't do this I won't see vaapi features
$ gst-inspect-1.0 vaapi
Plugin Details:
Name vaapi
Description VA-API based elements
Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so
Version 1.16.2
License LGPL
Source module gstreamer-vaapi
Source release date 2019-12-03
Binary package gstreamer-vaapi
Origin URL http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer
vaapih264enc: VA-API H264 encoder
vaapijpegenc: VA-API JPEG encoder
vaapisink: VA-API sink
vaapidecodebin: VA-API Decode Bin
vaapipostproc: VA-API video postprocessing
vaapih265dec: VA-API H265 decoder
vaapivp9dec: VA-API VP9 decoder
vaapivp8dec: VA-API VP8 decoder
vaapih264dec: VA-API H264 decoder
vaapimpeg2dec: VA-API MPEG2 decoder
vaapijpegdec: VA-API JPEG decoder
11 features:
+-- 11 elements
```
```
$ gst-inspect-1.0 vaapih264dec
Factory Details:
Rank primary (256)
Long-name VA-API H264 decoder
Klass Codec/Decoder/Video/Hardware
Description A VA-API based H264 video decoder
Author Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>
......
```
```
$ vainfo
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
```
```
$ ls /usr/lib/x86_64-linux-gnu/dri | grep drv_video.so
i965_drv_video.so
iHD_drv_video.so
nouveau_drv_video.so
r600_drv_video.so
radeonsi_drv_video.so
$ ls /dev/dri
by-path card0 renderD128
$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Device 9bc5 (rev 05)
```