GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2024-02-23T13:22:37Zhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/501rtpbasepay2: Consider RTP header extension size in max payload size2024-02-23T13:22:37ZSebastian Drögertpbasepay2: Consider RTP header extension size in max payload sizeThe following discussion from !1424 should be addressed:
- [ ] @slomo started a [discussion](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1424#note_2293620):
> This is something that would be worth fixi...The following discussion from !1424 should be addressed:
- [ ] @slomo started a [discussion](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1424#note_2293620):
> This is something that would be worth fixing, and I think we can fix this in the new base classes. But as the old ones have exactly the same bug, and API changes are not a problem here, I'd leave this for the future. It doesn't block this MR.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3335uridecodebin3: uriplaylistbin test stuck when using fakesink sync=false2024-02-23T09:29:12ZGuillaume Desmottesuridecodebin3: uriplaylistbin test stuck when using fakesink sync=falseTo reproduce:
- Grab my [uriplaylistbin branch](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471)
- Revert the commit setting `sync=true` on `fakesink` in tests
- Run tests in a loop
After a while the `nb_st...To reproduce:
- Grab my [uriplaylistbin branch](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1471)
- Revert the commit setting `sync=true` on `fakesink` in tests
- Run tests in a loop
After a while the `nb_streams_increasing` is getting stuck.
```
Thread 14 (Thread 0x7f56dcc006c0 (LWP 498352) "dconf worker"):
#0 0x00007f573f4c52bf in poll () at /lib64/libc.so.6
#1 0x00007f573f8da0ed in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#2 0x00007f573f880f00 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3 0x00007f573d81438d in dconf_gdbus_worker_thread () at /usr/lib64/gio/modules/libdconfsettings.so
#4 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#6 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 13 (Thread 0x7f56df4006c0 (LWP 498349) "multiqueue14:sr"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00007f573f8d2ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f573ed53dca in _gst_data_queue_wait_non_empty (queue=0x7f56c0009770) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007f573ed541f8 in gst_data_queue_pop (queue=0x7f56c0009770, item=0x7f56df3ffbc8) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007f573edb73bc in gst_multi_queue_loop (pad=0x7f56d800c100) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2190
#5 0x00007f573f7977c8 in gst_task_func (task=0x7f56d800e290) at ../subprojects/gstreamer/gst/gsttask.c:399
#6 0x00007f573f798bd3 in default_func (tdata=0x7f56d800fa20, pool=0x7f5708009390) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#7 0x00007f573f8b6052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#8 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#9 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#10 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 12 (Thread 0x7f56e74006c0 (LWP 498342) "multiqueue4:src"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00007f573f8d2ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f573ed53dca in _gst_data_queue_wait_non_empty (queue=0x7f55c80248a0) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007f573ed541f8 in gst_data_queue_pop (queue=0x7f55c80248a0, item=0x7f56e73ffbc8) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007f573edb73bc in gst_multi_queue_loop (pad=0x7f55c801c1e0) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2190
#5 0x00007f573f7977c8 in gst_task_func (task=0x7f55a001c5f0) at ../subprojects/gstreamer/gst/gsttask.c:399
#6 0x00007f573f798bd3 in default_func (tdata=0x7f55c80245e0, pool=0x7f5708009390) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#7 0x00007f573f8b6052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#8 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#9 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#10 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 11 (Thread 0x7f56efe006c0 (LWP 498335) "matroskademux3:"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00007f573f8d2ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f573f7976e8 in gst_task_func (task=0x7f557800e3b0) at ../subprojects/gstreamer/gst/gsttask.c:384
#3 0x00007f573f798bd3 in default_func (tdata=0x7f5570012590, pool=0x7f5708009390) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#4 0x00007f573f8b6052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#7 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 10 (Thread 0x7f56f56006c0 (LWP 498333) "gdbus"):
#0 0x00007f573f4c52bf in poll () at /lib64/libc.so.6
#1 0x00007f573f8da0ed in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#2 0x00007f573f88324f in g_main_loop_run () at /lib64/libglib-2.0.so.0
#3 0x00007f573fa7f7da in gdbus_shared_thread_func.lto_priv () at /lib64/libgio-2.0.so.0
#4 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#6 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 9 (Thread 0x7f56f74006c0 (LWP 498330) "gmain"):
#0 0x00007f573f4c52bf in poll () at /lib64/libc.so.6
#1 0x00007f573f8da0ed in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#2 0x00007f573f880f00 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3 0x00007f573f882b91 in glib_worker_main () at /lib64/libglib-2.0.so.0
#4 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#6 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 8 (Thread 0x7f56f7e006c0 (LWP 498329) "typefind:sink"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00007f573f8d2ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f573f7976e8 in gst_task_func (task=0x7f55d8009b90) at ../subprojects/gstreamer/gst/gsttask.c:384
#3 0x00007f573f798bd3 in default_func (tdata=0x7f5588009340, pool=0x7f5708009390) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#4 0x00007f573f8b6052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--c
#7 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 7 (Thread 0x7f56fe0006c0 (LWP 498325) "typefindelement"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00007f573f8d2ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f573f7976e8 in gst_task_func (task=0x7f567001acb0) at ../subprojects/gstreamer/gst/gsttask.c:384
#3 0x00007f573f798bd3 in default_func (tdata=0x7f56400256e0, pool=0x7f5708009390) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#4 0x00007f573f8b6052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#7 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 6 (Thread 0x7f57074006c0 (LWP 498317) "multiqueue14:sr"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00007f573f8d2ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f573ed53dca in _gst_data_queue_wait_non_empty (queue=0x7f5620006a10) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007f573ed541f8 in gst_data_queue_pop (queue=0x7f5620006a10, item=0x7f57073ffbc8) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007f573edb73bc in gst_multi_queue_loop (pad=0x7f5650026ca0) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2190
#5 0x00007f573f7977c8 in gst_task_func (task=0x7f562800b830) at ../subprojects/gstreamer/gst/gsttask.c:399
#6 0x00007f573f798bd3 in default_func (tdata=0x7f5618007d10, pool=0x7f5708009390) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#7 0x00007f573f8b6052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#8 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#9 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#10 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 5 (Thread 0x7f571fe006c0 (LWP 498298) "multiqueue25:sr"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00007f573f8d2ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f573ed53dca in _gst_data_queue_wait_non_empty (queue=0x7f55c000da40) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007f573ed541f8 in gst_data_queue_pop (queue=0x7f55c000da40, item=0x7f571fdffbc8) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007f573edb73bc in gst_multi_queue_loop (pad=0x7f5560017080) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2190
#5 0x00007f573f7977c8 in gst_task_func (task=0x7f5540021050) at ../subprojects/gstreamer/gst/gsttask.c:399
#6 0x00007f573f798bd3 in default_func (tdata=0x7f5540020f90, pool=0x7f5708009390) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#7 0x00007f573f8b6052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#8 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#9 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#10 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 4 (Thread 0x7f5727e006c0 (LWP 498292) "multiqueue4:src"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00007f573f8d2ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f573ed53dca in _gst_data_queue_wait_non_empty (queue=0x7f555802cbb0) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007f573ed541f8 in gst_data_queue_pop (queue=0x7f555802cbb0, item=0x7f5727dffbc8) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007f573edb73bc in gst_multi_queue_loop (pad=0x7f56700197c0) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2190
#5 0x00007f573f7977c8 in gst_task_func (task=0x7f5708018170) at ../subprojects/gstreamer/gst/gsttask.c:399
#6 0x00007f573f798bd3 in default_func (tdata=0x7f54d800b800, pool=0x7f5708009390) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#7 0x00007f573f8b6052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#8 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#9 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#10 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 3 (Thread 0x7f5736a006c0 (LWP 498283) "multiqueue25:sr"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00007f573f8d2ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f573ed53dca in _gst_data_queue_wait_non_empty (queue=0x7f55c000db00) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007f573ed541f8 in gst_data_queue_pop (queue=0x7f55c000db00, item=0x7f57369ffbc8) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007f573edb73bc in gst_multi_queue_loop (pad=0x7f5580010fd0) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2190
#5 0x00007f573f7977c8 in gst_task_func (task=0x7f5540021170) at ../subprojects/gstreamer/gst/gsttask.c:399
#6 0x00007f573f798bd3 in default_func (tdata=0x7f5540023080, pool=0x7f5708009390) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#7 0x00007f573f8b6052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#8 0x00007f573f8b2f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#9 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#10 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 2 (Thread 0x7f573e0006c0 (LWP 498276) "nb_streams_incr"):
#0 0x00007f573f4c53b6 in ppoll () at /lib64/libc.so.6
#1 0x00007f573f76cec5 in gst_poll_wait (set=0x7f5710002570, timeout=18446744073709551615) at ../subprojects/gstreamer/gst/gstpoll.c:1468
#2 0x00007f573f7036b3 in gst_bus_timed_pop_filtered (bus=0x7f5730002ac0, timeout=18446744073709551615, types=GST_MESSAGE_ANY) at ../subprojects/gstreamer/gst/gstbus.c:612
#3 0x00007f573f70386f in gst_bus_timed_pop (bus=0x7f5730002ac0, timeout=18446744073709551615) at ../subprojects/gstreamer/gst/gstbus.c:651
#4 0x00005651a1c7799c in uriplaylistbin::test (medias=..., n_streams=<optimized out>, iterations=<optimized out>, check_streams=false) at utils/uriplaylistbin/tests/uriplaylistbin.rs:133
#5 0x00005651a1c759ea in uriplaylistbin::nb_streams_increasing () at utils/uriplaylistbin/tests/uriplaylistbin.rs:304
#6 uriplaylistbin::nb_streams_increasing::{closure#0} () at utils/uriplaylistbin/tests/uriplaylistbin.rs:302
#7 core::ops::function::FnOnce::call_once<uriplaylistbin::nb_streams_increasing::{closure_env#0}, ()> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250
#8 0x00005651a1cd244f in core::ops::function::FnOnce::call_once<fn() -> core::result::Result<(), alloc::string::String>, ()> () at library/core/src/ops/function.rs:250
#9 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
#10 0x00005651a1cd11d1 in test::run_test_in_process::{closure#0} () at library/test/src/lib.rs:650
#11 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
#12 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
#13 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
#14 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
#15 test::run_test_in_process () at library/test/src/lib.rs:650
#16 test::run_test::{closure#0} () at library/test/src/lib.rs:573
#17 0x00005651a1c96086 in test::run_test::{closure#1} () at library/test/src/lib.rs:601
#18 std::sys_common::backtrace::__rust_begin_short_backtrace<test::run_test::{closure_env#1}, ()> () at library/std/src/sys_common/backtrace.rs:155
#19 0x00005651a1c9b0e7 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
#20 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
#21 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
#22 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
#23 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
#24 std::thread::{impl#0}::spawn_unchecked_::{closure#1}<test::run_test::{closure_env#1}, ()> () at library/std/src/thread/mod.rs:528
#25 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
#26 0x00005651a1d14225 in alloc::boxed::{impl#47}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2015
#27 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
#28 std::sys::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/unix/thread.rs:108
#29 0x00007f573f45119d in start_thread () at /lib64/libc.so.6
#30 0x00007f573f4d2c60 in clone3 () at /lib64/libc.so.6
Thread 1 (Thread 0x7f573f076d40 (LWP 498270) "uriplaylistbin-"):
#0 0x00007f573f4ca9cd in syscall () at /lib64/libc.so.6
#1 0x00005651a1d039a4 in std::sys::unix::futex::futex_wait () at library/std/src/sys/unix/futex.rs:62
#2 std::sys_common::thread_parking::futex::Parker::park () at library/std/src/sys_common/thread_parking/futex.rs:52
#3 std::thread::park () at library/std/src/thread/mod.rs:1066
#4 0x00005651a1c99082 in std::sync::mpmc::context::Context::wait_until () at library/std/src/sync/mpmc/context.rs:139
#5 std::sync::mpmc::list::{impl#3}::recv::{closure#1}<test::event::CompletedTest> () at library/std/src/sync/mpmc/list.rs:444
#6 0x00005651a1c98bda in std::sync::mpmc::context::{impl#0}::with::{closure#0}<std::sync::mpmc::list::{impl#3}::recv::{closure_env#1}<test::event::CompletedTest>, ()> () at library/std/src/sync/mpmc/context.rs:50
#7 std::sync::mpmc::context::{impl#0}::with::{closure#1}<std::sync::mpmc::list::{impl#3}::recv::{closure_env#1}<test::event::CompletedTest>, ()> () at library/std/src/sync/mpmc/context.rs:58
#8 std::thread::local::LocalKey::try_with<core::cell::Cell<core::option::Option<std::sync::mpmc::context::Context>>, std::sync::mpmc::context::{impl#0}::with::{closure_env#1}<std::sync::mpmc::list::{impl#3}::recv::{closure_env#1}<test::event::CompletedTest>, ()>, ()> () at library/std/src/thread/local.rs:270
#9 std::sync::mpmc::context::Context::with<std::sync::mpmc::list::{impl#3}::recv::{closure_env#1}<test::event::CompletedTest>, ()> () at library/std/src/sync/mpmc/context.rs:53
#10 std::sync::mpmc::list::Channel::recv<test::event::CompletedTest> () at library/std/src/sync/mpmc/list.rs:434
#11 0x00005651a1cadff1 in std::sync::mpmc::Receiver::recv<test::event::CompletedTest> () at library/std/src/sync/mpmc/mod.rs:307
#12 std::sync::mpsc::Receiver::recv<test::event::CompletedTest> () at library/std/src/sync/mpsc/mod.rs:849
#13 test::run_tests<test::console::run_tests_console::{closure_env#2}> () at library/test/src/lib.rs:438
#14 test::console::run_tests_console () at library/test/src/console.rs:329
#15 0x00005651a1ccbe2d in test::test_main () at library/test/src/lib.rs:143
#16 0x00005651a1cccded in test::test_main_static () at library/test/src/lib.rs:162
#17 0x00005651a1c75083 in core::ops::function::FnOnce::call_once<fn(), ()> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250
#18 std::sys_common::backtrace::__rust_begin_short_backtrace<fn(), ()> (f=0x5651a1f941e8) at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155
#19 0x00005651a1c78a99 in std::rt::lang_start::{closure#0}<()> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:166
#20 0x00005651a1d03341 in core::ops::function::impls::{impl#2}::call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/core/src/ops/function.rs:284
#21 std::panicking::try::do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panicking.rs:552
#22 std::panicking::try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/std/src/panicking.rs:516
#23 std::panic::catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panic.rs:142
#24 std::rt::lang_start_internal::{closure#2} () at library/std/src/rt.rs:148
#25 std::panicking::try::do_call<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panicking.rs:552
#26 std::panicking::try<isize, std::rt::lang_start_internal::{closure_env#2}> () at library/std/src/panicking.rs:516
#27 std::panic::catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panic.rs:142
#28 std::rt::lang_start_internal () at library/std/src/rt.rs:148
#29 0x00005651a1c78a8c in main ()
#30 0x00007f573f3ed550 in __libc_start_call_main () at /lib64/libc.so.6
#31 0x00007f573f3ed609 in __libc_start_main_impl () at /lib64/libc.so.6
#32 0x00005651a1c74d75 in _start ()
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3334rtph265pay loses DISCONT flags2024-02-22T20:32:50ZJan Schmidtrtph265pay loses DISCONT flagsWhen receiving a buffer with DISCONT flag, `rtph265pay` doesn't always carry the flag over onto the corresponding RTP payloaded packet.
That breaks some playback scenarios in subtle ways, but very obviously breaks ONVIF reverse playback...When receiving a buffer with DISCONT flag, `rtph265pay` doesn't always carry the flag over onto the corresponding RTP payloaded packet.
That breaks some playback scenarios in subtle ways, but very obviously breaks ONVIF reverse playback with H.265 video.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3333avviddec: Double check if AV_CODEC_FLAG_COPY_OPAQUE port is safe for our scen...2024-03-21T07:37:46ZSeungha Yangseungha@centricular.comavviddec: Double check if AV_CODEC_FLAG_COPY_OPAQUE port is safe for our scenariohttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186 introduced `AV_CODEC_FLAG_COPY_OPAQUE` usage in video decoder.
If the flag is set, ffmpeg will copy `AVPacket.opaque` and `AVPacket.opaque_ref` to corresponding `A...https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5186 introduced `AV_CODEC_FLAG_COPY_OPAQUE` usage in video decoder.
If the flag is set, ffmpeg will copy `AVPacket.opaque` and `AVPacket.opaque_ref` to corresponding `AVFrame`.
That seems to be fine if `gst_ffmpegviddec_get_buffer2()` is called only once per frame but we have code
in the function to handle multiple `gst_ffmpegviddec_get_buffer2()` call per frame.
I'm not sure that could actually happen though, if that can happen, `AV_CODEC_FLAG_COPY_OPAQUE` might cause bad things.
cc @amyspark @bilboed1.24.1https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3332libavcodec static configuration failure2024-02-22T14:48:04ZRamil Galinlibavcodec static configuration failure### Describe your issue
Using recent android prebuild binaries (gstreamer-1.0-android-universal-1.22.9), attempting to statically link the libav plugin lib 'libavcodec' results in several symbol relocation build failures:
```
ld: error: ...### Describe your issue
Using recent android prebuild binaries (gstreamer-1.0-android-universal-1.22.9), attempting to statically link the libav plugin lib 'libavcodec' results in several symbol relocation build failures:
```
ld: error: relocation R_AARCH64_ADR_PREL_PG_HI21 cannot be used against symbol 'ff_cos_32'; recompile with -fPIC
>>> defined in /Users/ramdau/Documents/libs/gstreamer-1.0-android-universal-1.22.9/arm64/lib/libavcodec.a(fft_float.o)
>>> referenced by asm.S:526 (./libavutil/aarch64/asm.S:526)
>>> fft_neon.o:(fft32_neon) in archive /Users/ramdau/Documents/libs/gstreamer-1.0-android-universal-1.22.9/arm64/lib/libavcodec.a
...
ld: error: relocation R_AARCH64_ADD_ABS_LO12_NC cannot be used against symbol 'ff_cos_16384'; recompile with -fPIC
>>> defined in /Users/ramdau/Documents/libs/gstreamer-1.0-android-universal-1.22.9/arm64/lib/libavcodec.a(fft_float.o)
>>> referenced by asm.S:535 (./libavutil/aarch64/asm.S:535)
>>> fft_neon.o:(fft16384_neon) in archive /Users/ramdau/Documents/libs/gstreamer-1.0-android-universal-1.22.9/arm64/lib/libavcodec.a
```
#### Setup
- **Operating System:** Android, compileSdkVersion 34
- **Device:** Android Studio on Macbook Pro, M1 Pro
- **GStreamer Version:** gstreamer-1.0-android-universal-1.22.9
### Steps to reproduce the bug
Same as in the [issue #1612](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1612)
1. Install gstreamer 1.22.9 binaries for android: gstreamer-1.0-android-universal-1.22.9
2. Set environment variable GSTREAMER_ROOT_ANDROID
3. Rename folders in GSTREAMER_ROOT_ANDROID to match android studio ABI names i.e. 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
4. Pull [repository](https://github.com/henkeldi/gstreamer-android/blob/master/app/src/main/cpp/CMakeLists.txt)
5. Link 'libav' plugin and its libs 'avutil, swresample, avfilter, avcodec, avformat'
6. Try building project
### Solutions you have tried
Adding '-fPIC' flag to my cmake c/cpp configuration does nothing.
### Related non-duplicate issues
#1612https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3331vapostproc: Segmentation fault or corrupt video with Intel Arc GPUs from BGRx...2024-02-27T01:45:30ZSeungmin Kimvapostproc: Segmentation fault or corrupt video with Intel Arc GPUs from BGRx to NV12### Describe your issue
Segmentation fault for Intel Arc (Alchemist) GPUs when using `vapostproc` from BGRx (ximagesrc) to NV12 to encode with `vah264enc` or `vah264lpenc`.
#### Setup
- **Operating System:** Ubuntu 22.04
- **Device:** ...### Describe your issue
Segmentation fault for Intel Arc (Alchemist) GPUs when using `vapostproc` from BGRx (ximagesrc) to NV12 to encode with `vah264enc` or `vah264lpenc`.
#### Setup
- **Operating System:** Ubuntu 22.04
- **Device:** Bare Metal, Intel Arc A750
- **GStreamer Version:** 1.22.10
- **intel-media-driver Version:** 24.1.4, 23.4.0, and 22.3.1
- **Command line:**
Command Line:
`gdb --args gst-launch-1.0 ximagesrc name=x11 show-pointer=0 remote=1 blocksize=16384 use-damage=0 ! "video/x-raw,framerate=60/1" ! vapostproc ! "video/x-raw(memory:VAMemory),format=NV12" ! vah264lpenc i-frames=0 b-frames=0 key-int-max=0 bitrate=4000 ! "video/x-h264,stream-format=byte-stream,profile=high" ! h264parse ! avdec_h264 ! queue ! autovideosink`
This is a real issue, because with the Python code underneath, I switched between:
```
vapostproc = Gst.ElementFactory.make("vapostproc")
vapostproc_caps = Gst.caps_from_string("video/x-raw(memory:VAMemory)")
```
and
```
vapostproc = Gst.ElementFactory.make("videoconvert")
vapostproc_caps = Gst.caps_from_string("video/x-raw")
```
and the segfault only happens with `vapostproc`.
Python (https://github.com/selkies-project/selkies-gstreamer/blob/547aa5366ca53208074434a118700e847276732d/src/selkies_gstreamer/gstwebrtc_app.py#L311):
```python
# Create ximagesrc element named x11
# Note that when using the ximagesrc plugin, ensure that the X11 server was
# started with shared memory support: '+extension MIT-SHM' to achieve
# full frame rates.
# You can check if XSHM is in use with the following command:
# GST_DEBUG=default:5 gst-launch-1.0 ximagesrc ! fakesink num-buffers=1 2>&1 |grep -i xshm
self.ximagesrc = Gst.ElementFactory.make("ximagesrc", "x11")
ximagesrc = self.ximagesrc
# disables display of the pointer using the XFixes extension,
# common when building a remote desktop interface as the clients
# mouse pointer can be used to give the user perceived lower latency.
# This can be programmatically toggled after the pipeline is started
# for example if the user is viewing fullscreen in the browser,
# they may want to revert to seeing the remote cursor when the
# client side cursor disappears.
ximagesrc.set_property("show-pointer", 0)
# Tells GStreamer that you are using an X11 window manager or
# compositor with off-screen buffer. If you are not using a
# window manager this can be set to 0. It's also important to
# make sure that your X11 server is running with the XSHM extension
# to ensure direct memory access to frames which will reduce latency.
ximagesrc.set_property("remote", 1)
# Defines the size in bytes to read per buffer. Increasing this from
# the default of 4096 bytes helps performance when capturing high
# resolutions like 1080P, and 2K.
ximagesrc.set_property("blocksize", 16384)
# The X11 XDamage extension allows the X server to indicate when a
# regions of the screen has changed. While this can significantly
# reduce CPU usage when the screen is idle, it has little effect with
# constant motion. This can also have a negative consequences with H.264
# as the video stream can drop out and take several seconds to recover
# until a valid I-Frame is received.
# Set this to 0 for most streaming use cases.
ximagesrc.set_property("use-damage", 0)
# Create capabilities for ximagesrc
self.ximagesrc_caps = Gst.caps_from_string("video/x-raw")
# Setting the framerate=60/1 capability instructs the ximagesrc element
# to generate buffers at 60 frames per second (FPS).
# The higher the FPS, the lower the latency so this parameter is one
# way to set the overall target latency of the pipeline though keep in
# mind that the pipeline may not always perfom at the full 60 FPS.
self.ximagesrc_caps.set_value("framerate", Gst.Fraction(self.framerate, 1))
# Create a capability filter for the ximagesrc_caps
self.ximagesrc_capsfilter = Gst.ElementFactory.make("capsfilter")
self.ximagesrc_capsfilter.set_property("caps", self.ximagesrc_caps)
elif self.encoder in ["vah264enc"]:
# colorspace conversion
vapostproc = Gst.ElementFactory.make("vapostproc")
vapostproc_caps = Gst.caps_from_string("video/x-raw(memory:VAMemory)")
vapostproc_caps.set_value("format", "NV12")
vapostproc_capsfilter = Gst.ElementFactory.make("capsfilter")
vapostproc_capsfilter.set_property("caps", vapostproc_caps)
# encoder
vah264enc = Gst.ElementFactory.make("vah264enc", "vaenc")
if vah264enc is None:
vah264enc = Gst.ElementFactory.make("vah264lpenc", "vaenc")
vah264enc.set_property("i-frames", 0)
vah264enc.set_property("b-frames", 0)
vah264enc.set_property("key-int-max", 0)
vah264enc.set_property("bitrate", self.video_bitrate)
# capsfilter
vah264enc_caps = Gst.caps_from_string("video/x-h264")
vah264enc_caps.set_value("stream-format", "byte-stream")
vah264enc_caps.set_value("profile", "high")
vah264enc_capsfilter = Gst.ElementFactory.make("capsfilter")
vah264enc_capsfilter.set_property("caps", vah264enc_caps)
# RTP payload
rtph264pay = Gst.ElementFactory.make("rtph264pay")
rtph264pay_caps = Gst.caps_from_string("application/x-rtp")
rtph264pay_caps.set_value("media", "video")
rtph264pay_caps.set_value("encoding-name", "H264")
rtph264pay_caps.set_value("payload", 123)
rtph264pay_caps.set_value("rtcp-fb-nack-pli", True)
rtph264pay_caps.set_value("rtcp-fb-ccm-fir", True)
rtph264pay_caps.set_value("rtcp-fb-x-gstreamer-fir-as-repair", True)
rtph264pay_caps.set_value("aggregate-mode", "zero-latency")
# Create a capability filter for the rtph264pay_caps.
rtph264pay_capsfilter = Gst.ElementFactory.make("capsfilter")
rtph264pay_capsfilter.set_property("caps", rtph264pay_caps)
```
### Steps to reproduce the bug
Use the Intel Arc A750 GPU with GStreamer 1.22.10 on Ubuntu 22.04.
Command-Line:
```
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Setting pipeline to PAUSED ...
[New Thread 0x7ffff40e6640 (LWP 14620)]
[New Thread 0x7ffff38e5640 (LWP 14621)]
[Thread 0x7ffff40e6640 (LWP 14620) exited]
[New Thread 0x7ffff40e6640 (LWP 14622)]
[New Thread 0x7fffea1ff640 (LWP 14623)]
[New Thread 0x7fffe99fe640 (LWP 14624)]
[New Thread 0x7fffe91fd640 (LWP 14625)]
[New Thread 0x7fffe89fc640 (LWP 14626)]
[Thread 0x7fffe89fc640 (LWP 14626) exited]
[Thread 0x7fffe91fd640 (LWP 14625) exited]
[Thread 0x7ffff40e6640 (LWP 14622) exited]
[New Thread 0x7ffff40e6640 (LWP 14630)]
[New Thread 0x7fffe91fd640 (LWP 14631)]
[New Thread 0x7fffe89fc640 (LWP 14632)]
[New Thread 0x7fffdc87f640 (LWP 14633)]
[New Thread 0x7fffc7fff640 (LWP 14634)]
Pipeline is live and does not need PREROLL ...
[New Thread 0x7fffc77fe640 (LWP 14635)]
Got context from element 'autovideosink0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Got context from element 'vapostproc0': gst.va.display.handle=context, gst-display=(GstObject)"\(GstVaDisplayDrm\)\ vadisplaydrm2", description=(string)"Intel\ iHD\ driver\ for\ Intel\(R\)\ Gen\ Graphics\ -\ 23.4.0\ \(\)", path=(string)/dev/dri/renderD128;
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[New Thread 0x7fffc5634640 (LWP 14637)]
Redistribute latency...
Thread 13 "x11:src" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffc7fff640 (LWP 14634)]
__memmove_avx_unaligned_erms_rtm () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:805
805 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) backtrace full
#0 __memmove_avx_unaligned_erms_rtm () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:805
No locals.
#1 0x00007ffff4755969 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
No symbol table info available.
#2 0x00007ffff4915e17 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
No symbol table info available.
#3 0x00007ffff6dbeda0 in vaPutImage () from /lib/x86_64-linux-gnu/libva.so.2
No symbol table info available.
#4 0x00007ffff7876f07 in va_put_image () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstva-1.0.so.0
No symbol table info available.
#5 0x00007ffff78776c4 in _va_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstva-1.0.so.0
No symbol table info available.
#6 0x00007ffff7ee086e in gst_memory_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#7 0x00007ffff7eaa1b1 in gst_buffer_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#8 0x00007ffff7142664 in default_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
No symbol table info available.
#9 0x00007ffff71b56a0 in gst_video_frame_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
No symbol table info available.
#10 0x00007ffff779aa96 in gst_va_base_transform_import_buffer ()
from /opt/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0/libgstva.so
No symbol table info available.
#11 0x00007ffff77cc2c8 in gst_va_vpp_transform.lto_priv ()
from /opt/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0/libgstva.so
No symbol table info available.
#12 0x00007ffff78ca241 in default_generate_output () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#13 0x00007ffff7792382 in gst_va_base_transform_generate_output ()
from /opt/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0/libgstva.so
--Type <RET> for more, q to quit, c to continue without paging--c
No symbol table info available.
#14 0x00007ffff78ca79c in gst_base_transform_chain () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#15 0x00007ffff7ef0939 in gst_pad_chain_data_unchecked () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#16 0x00007ffff7ef1a7a in gst_pad_push_data () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#17 0x00007ffff7ef22de in gst_pad_push () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#18 0x00007ffff78ca86f in gst_base_transform_chain () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#19 0x00007ffff7ef0939 in gst_pad_chain_data_unchecked () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#20 0x00007ffff7ef1a7a in gst_pad_push_data () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#21 0x00007ffff7ef22de in gst_pad_push () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#22 0x00007ffff78c3f5d in gst_base_src_loop.lto_priv () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#23 0x00007ffff7f29d57 in gst_task_func () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#24 0x00007ffff7d906b4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#25 0x00007ffff7d8da51 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#26 0x00007ffff7a94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737488343744, 3232868401306714763, 140736548828736, 2, 140737348454352, 140737488344096, -3232745255481064821, -3232850075177008501}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0,
0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#27 0x00007ffff7b26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
No locals.
```
or
```
Thread 4 "x11:src" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffebfff640 (LWP 15725)]
0x00007ffff7ba8067 in __memmove_avx_unaligned_erms_rtm () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:805
805 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) backtrace full
#0 0x00007ffff7ba8067 in __memmove_avx_unaligned_erms_rtm ()
at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:805
No locals.
#1 0x00007ffff4755969 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
No symbol table info available.
#2 0x00007ffff4915e17 in ?? () from /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
No symbol table info available.
#3 0x00007ffff6dbeda0 in vaPutImage () from /lib/x86_64-linux-gnu/libva.so.2
No symbol table info available.
#4 0x00007ffff7876f07 in va_put_image () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstva-1.0.so.0
No symbol table info available.
#5 0x00007ffff78776c4 in _va_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstva-1.0.so.0
No symbol table info available.
#6 0x00007ffff7ee086e in gst_memory_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#7 0x00007ffff7eaa1b1 in gst_buffer_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#8 0x00007ffff7142664 in default_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
No symbol table info available.
#9 0x00007ffff71b56a0 in gst_video_frame_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
No symbol table info available.
#10 0x00007ffff779aa96 in gst_va_base_transform_import_buffer ()
from /opt/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0/libgstva.so
No symbol table info available.
#11 0x00007ffff77cc2c8 in gst_va_vpp_transform.lto_priv ()
from /opt/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0/libgstva.so
No symbol table info available.
#12 0x00007ffff78ca241 in default_generate_output () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#13 0x00007ffff7792382 in gst_va_base_transform_generate_output ()
--Type <RET> for more, q to quit, c to continue without paging--c
from /opt/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0/libgstva.so
No symbol table info available.
#14 0x00007ffff78ca79c in gst_base_transform_chain () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#15 0x00007ffff7ef0939 in gst_pad_chain_data_unchecked () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#16 0x00007ffff7ef1a7a in gst_pad_push_data () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#17 0x00007ffff7ef22de in gst_pad_push () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#18 0x00007ffff78ca86f in gst_base_transform_chain () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#19 0x00007ffff7ef0939 in gst_pad_chain_data_unchecked () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#20 0x00007ffff7ef1a7a in gst_pad_push_data () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#21 0x00007ffff7ef22de in gst_pad_push () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#22 0x00007ffff78c3f5d in gst_base_src_loop.lto_priv () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#23 0x00007ffff7f29d57 in gst_task_func () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#24 0x00007ffff7d906b4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#25 0x00007ffff7d8da51 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#26 0x00007ffff7a94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737488343488, 3587979073785689912, 140737152808512, 2, 140737348454352, 140737488343840, -3588005461514258632, -3587995992105552072}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0,
0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#27 0x00007ffff7b26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
No locals.
```
Python:
```
Thread 11 "x11:src" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffcbbbf640 (LWP 25485)]
0x00007ffff7da8067 in __memmove_avx_unaligned_erms_rtm () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:805
805 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) backtrace full
#0 0x00007ffff7da8067 in __memmove_avx_unaligned_erms_rtm ()
at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:805
No locals.
#1 0x00007fffd156c7d9 in memcpy (__len=<optimized out>, __src=<optimized out>, __dest=<optimized out>)
at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:29
No locals.
#2 MosUtilities::MosSecureMemcpy (dstLength=<optimized out>, srcLength=<optimized out>, pSource=<optimized out>,
pDestination=<optimized out>)
at /tmp/media-driver/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp:207
No locals.
#3 MosUtilities::MosSecureMemcpy (pDestination=<optimized out>, dstLength=<optimized out>, pSource=<optimized out>,
srcLength=<optimized out>)
at /tmp/media-driver/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp:194
No locals.
#4 0x00007fffd176920e in DdiMedia_PutImage (ctx=0x5555568d5af0, surface=2, image=<optimized out>, src_x=0, src_y=0,
src_width=1920, src_height=1080, dest_x=0, dest_y=0, dest_width=1920, dest_height=1080)
at /tmp/media-driver/media_driver/linux/common/ddi/media_libva.cpp:5610
context = 1073741825
memType = <optimized out>
tempSurface = 5
tempSurfData = <optimized out>
eStatus = <optimized out>
dstRect = {x = -9648, y = -13381, width = 32767, height = 0}
mediaFmt = Media_Format_X8R8G8B8
tempMediaSurface = 0x7fffc0e99900
srcRect = {x = 9216, y = -7498, width = 17991, height = 3437}
event = <optimized out>
mediaCtx = <optimized out>
mediaSurface = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
vaimg = 0x7fffc11feca0
buf = 0x7fffc0007730
vaStatus = <optimized out>
imageData = 0x7fffc044cde0
#5 0x00007ffff0249060 in vaPutImage (dpy=0x5555568d5980, surface=2, image=0, src_x=0, src_y=0, src_width=1920,
src_height=1080, dest_x=0, dest_y=0, dest_width=1920, dest_height=1080) at va.c:1893
ctx = <optimized out>
va_status = 0
__func__ = "vaPutImage"
#6 0x00007ffff045ef07 in va_put_image () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstva-1.0.so.0
No symbol table info available.
#7 0x00007ffff045f6c4 in _va_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstva-1.0.so.0
No symbol table info available.
#8 0x00007ffff647886e in gst_memory_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#9 0x00007ffff64421b1 in gst_buffer_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#10 0x00007ffff071a664 in default_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
No symbol table info available.
#11 0x00007ffff078d6a0 in gst_video_frame_unmap () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0
No symbol table info available.
#12 0x00007ffff037ea96 in gst_va_base_transform_import_buffer ()
from /opt/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0/libgstva.so
No symbol table info available.
#13 0x00007ffff03b02c8 in gst_va_vpp_transform.lto_priv ()
from /opt/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0/libgstva.so
No symbol table info available.
#14 0x00007ffff0923241 in default_generate_output () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
--Type <RET> for more, q to quit, c to continue without paging--
#15 0x00007ffff0376382 in gst_va_base_transform_generate_output ()
from /opt/gstreamer/lib/x86_64-linux-gnu/gstreamer-1.0/libgstva.so
No symbol table info available.
#16 0x00007ffff092379c in gst_base_transform_chain () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#17 0x00007ffff6488939 in gst_pad_chain_data_unchecked ()
from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#18 0x00007ffff6489a7a in gst_pad_push_data () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#19 0x00007ffff648a2de in gst_pad_push () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#20 0x00007ffff092386f in gst_base_transform_chain () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#21 0x00007ffff6488939 in gst_pad_chain_data_unchecked ()
from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#22 0x00007ffff6489a7a in gst_pad_push_data () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#23 0x00007ffff648a2de in gst_pad_push () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#24 0x00007ffff091cf5d in gst_base_src_loop.lto_priv () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstbase-1.0.so.0
No symbol table info available.
#25 0x00007ffff64c1d57 in gst_task_func () from /opt/gstreamer/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
No symbol table info available.
#26 0x00007ffff71f76b4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
#27 0x00007ffff71f4a51 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
No symbol table info available.
--Type <RET> for more, q to quit, c to continue without paging--
#28 0x00007ffff7c94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737488338240, 7357948740332958701, 140736611481152, 19,
140737350551504, 140737488338592, -7357975712141921299, -7357965933394643987}, mask_was_saved = 0}},
priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#29 0x00007ffff7d26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
No locals.
```
### How reproducible is the bug?
100% segfault in GST-Python, 25% segfault and 100% corrupt video in command-line
### Solutions you have tried
By @vjaquez 's suggestions, I have upgraded the iHD Intel Media Driver to 24.1.
```
Trying display: wayland
Trying display: x11
libva info: VA-API version 1.21.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_21
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.21 (libva 2.20.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.4 (b167086f6)
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSliceLP
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSliceLP
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointEncSliceLP
VAProfileVP9Profile1 : VAEntrypointVLD
VAProfileVP9Profile1 : VAEntrypointEncSliceLP
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointEncSliceLP
VAProfileVP9Profile3 : VAEntrypointVLD
VAProfileVP9Profile3 : VAEntrypointEncSliceLP
VAProfileHEVCMain12 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointVLD
VAProfileHEVCMain422_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain422_12 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointVLD
VAProfileHEVCMain444 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_10 : VAEntrypointVLD
VAProfileHEVCMain444_10 : VAEntrypointEncSliceLP
VAProfileHEVCMain444_12 : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointVLD
VAProfileHEVCSccMain : VAEntrypointEncSliceLP
VAProfileHEVCSccMain10 : VAEntrypointVLD
VAProfileHEVCSccMain10 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444 : VAEntrypointVLD
VAProfileHEVCSccMain444 : VAEntrypointEncSliceLP
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointEncSliceLP
VAProfileHEVCSccMain444_10 : VAEntrypointVLD
VAProfileHEVCSccMain444_10 : VAEntrypointEncSliceLP
```
### Additional Information
Comparison:
`ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -framerate 60 -f x11grab -s 1920x1080 -i :0.0+0,0 -c:v h264_vaapi -b:v 4000k -vf 'format=nv12,hwupload' output.mp4`https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3330kmssink: driver cannot handle dumb buffers2024-02-22T23:57:48ZDaniel Morinkmssink: driver cannot handle dumb buffers### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
kmssink is not working on Fedora-asahi-remix on M1
<!-- For any GStreamer usage questions or application development support
please head over to...### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
kmssink is not working on Fedora-asahi-remix on M1
<!-- 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 -->
#### Expected Behavior
<!-- What did you expect to happen -->
kmssink show video
#### Observed Behavior
<!-- What actually happened -->
kmssink is not showing video and report 'driver cannot handle dumb buffers'
#### Setup
- **Operating System: Fedora-asahi-remix 39
- **Device:** Mac M1
- **GStreamer Version: main
- **Command line: ```gst-launch-1.0 videotestsrc ! autovideosink```
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. ```gst-launch-1.0 videotestsrc ! autovideosink ```
### How reproducible is the bug?
Always.
### Screenshots if relevant
### Solutions you have tried
### Related non-duplicate issues
### Additional Information
Without !6176 it report ```Could not open DRM module (NULL) ```
But there's still a problem
Note on 1.22.9, when I use the same command it work but use xvimagesink, on main it use kmssink.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3329v4l2videoenc/v4l2jpegenc: v4l2jpegenc signals an error after a few frames whe...2024-02-23T00:46:59ZMikhail Rudenkov4l2videoenc/v4l2jpegenc: v4l2jpegenc signals an error after a few frames when used with the gsreamer rtsp server### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
When using `v4l2jpegenc` as a part of media pipeline of an rtsp server, video streaming interrupts after a few frames, and client is disconnected. If...### Describe your issue
<!-- Please provide a clear and concise summary of the bug. -->
When using `v4l2jpegenc` as a part of media pipeline of an rtsp server, video streaming interrupts after a few frames, and client is disconnected. If I replace `v4l2jpegenc` with `jpegenc` in the pipeline, streaming works fine.
#### Expected Behavior
<!-- What did you expect to happen -->
Streaming mjpeg with gstreamer-rtsp-server using hardware jpeg encoder without errors.
#### Observed Behavior
After I start `test-launch` from rtsp server examples on my board, and connect using `gst-launch-1.0 playbin uri=rtsp://192.168.1.10:8554/test`, a few frames are displayed, and the client terminates with message like
```
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Pipeline is PREROLLED ...
Prerolled, waiting for progress to finish...
Progress: (connect) Connecting to rtsp://svcam-ai.local:8554/test
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Redistribute latency...
Progress: (request) Sending PLAY request
Redistribute latency...
Progress: (request) Sent PLAY request
Redistribute latency...
Redistribute latency...
Redistribute latency...
Got EOS from element "playbin0".
Execution ended after 0:00:02.235261642
Setting pipeline to NULL ...
Freeing pipeline ...
```
#### Setup
- **OS:** Yocto linux, mainline kernel ver. 6.2
- **Device:** custom Rockchip 3399 based board
- **GStreamer Version:** 1.23.2.1 (commit 9e2e456d9f5c)
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
The issue can be reproduced using `test-launch` from `gst-rtsp-server` examples like this:
1. Run `./test-launch "( videotestsrc ! video/x-raw,format=NV12 ! v4l2jpegenc ! rtpjpegpay name=pay0 pt=96 )"`
2. Run `gst-launch-1.0 playbin uri=rtsp://192.168.1.10:8554/test`
3. `GST_DEBUG=4` log: [gstreamer-1.23-rtsp-v4l2jpegenc.txt](/uploads/8c2244984847b5b44dead333bcb3c38a/gstreamer-1.23-rtsp-v4l2jpegenc.txt)
### Note 1:
If I use `./test-launch "( videotestsrc ! video/x-raw,format=NV12 ! jpegenc ! rtpjpegpay name=pay0 pt=96 )"` instead of the above pipeline, bug doesn't appear (log: [gstreamer-1.23-rtsp-jpegenc.txt](/uploads/9474c090d07cc6bc5f4948a929f782ea/gstreamer-1.23-rtsp-jpegenc.txt))
### Note 2:
If I use `v4l2jpegenc` outside rtsp server, like in `gst-launch-1.0 videotestsrc ! video/x-raw,width=640,height=360,format=NV12 ! v4l2jpegenc ! rtpjpegpay ! udpsink host=192.168.1.64 port=1234` it works, but some warnings appear (log: [gstreamer-1.23-gst-launch-v4l2jpegenc.txt](/uploads/93b934e4207c4b939d2e37a1094b94ba/gstreamer-1.23-gst-launch-v4l2jpegenc.txt))
### Note 3:
This case is also broken on 1.22 branch, though in a slightly different way. But after applying patches from !4235, the situation becomes identical to that on 1.23.
### How reproducible is the bug?
<!-- The reproducibility of the bug is Always/Intermittent/Only once after doing a very specific set of steps-->
The bug is 100% reproducible.
I'm ready to provide more information or test fixes if needed.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3328Follow-up from "csharp: Add gst-rtsp-server bindings" - split libs2024-02-21T14:13:16ZTim-Philipp Müllertim@centricular.comFollow-up from "csharp: Add gst-rtsp-server bindings" - split libsThe following discussion from !5961 should be addressed:
- [ ] @slomo started a [discussion](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5961#note_2258719): (+8 comments)
> So GES is a separate DLL, but all...The following discussion from !5961 should be addressed:
- [ ] @slomo started a [discussion](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5961#note_2258719): (+8 comments)
> So GES is a separate DLL, but all other GStreamer libraries are in the main DLL. Why, and should we keep gst-rtsp-server in here or make it a separate DLL?1.26-dev-cyclehttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3327tests: cudafilter: wrong check for cudascale availability2024-02-21T11:11:35ZKamal Mostafatests: cudafilter: wrong check for cudascale availability### Describe your issue
Instead of checking for availability of cudascale as intended, subprojects/gst-plugins-bad/tests/check/elements/cudafilter.c accidentally checks for availability of cudadownload twice.
#### Expected Behavior
The ...### Describe your issue
Instead of checking for availability of cudascale as intended, subprojects/gst-plugins-bad/tests/check/elements/cudafilter.c accidentally checks for availability of cudadownload twice.
#### Expected Behavior
The intended check for cudascale.
#### Observed Behavior
No check for cudascale is performed (by code inspection).
#### Setup
- **Operating System:** Linux
- **Device:** Computer / Tablet / Mobile / Virtual Machine <!-- Delete as appropriate !-->
- **GStreamer Version:** 1.23.2
- **Command line:** meson test elements_cudafilter
### Steps to reproduce the bug
1. Examine subprojects/gst-plugins-bad/tests/check/elements/cudafilter.c
2. In check_cuda_available, observe the obvious cut-n-paste error: "cudadownload" -> "cudascale is not available..."
### How reproducible is the bug?
Alwayshttps://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/128The documentation's left panel scrolls by itself on Firefox2024-02-26T19:36:37ZRemi RampinThe documentation's left panel scrolls by itself on FirefoxFirefox 123.0
![screen recording](https://f004.backblazeb2.com/file/rr4-files/gstreamer-20240220.mp4)Firefox 123.0
![screen recording](https://f004.backblazeb2.com/file/rr4-files/gstreamer-20240220.mp4)https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/127Many of the entries in the "applications" list are dead2024-02-21T04:28:26ZRemi RampinMany of the entries in the "applications" list are deadThis page hasn't been checked for freshness in at least a decade: https://gstreamer.freedesktop.org/apps/
* Arista Transcoder: seems to point to a new, different software now -- original is at https://github.com/danielgtaylor/arista and...This page hasn't been checked for freshness in at least a decade: https://gstreamer.freedesktop.org/apps/
* Arista Transcoder: seems to point to a new, different software now -- original is at https://github.com/danielgtaylor/arista and dead. That domain was even porn for a time, https://github.com/danielgtaylor/arista/issues/176
* Banshee: unreachable, the domain name doesn't have any records associated to it
* Buzztrax: your link is 404, https://www.buzztrax.org/ works
* flumotion: cPanel 404 page
* GstLAL: unreachable, no DNS record
* Kaffeine: link is wrong but redirects for now
* Landell: I don't know what that server speaks but it's not HTTP
* Listen: redirects to a casino website, in Korean
* Minirok: server doesn't respond
* TANDBERG Movi: dead link, Tandberg has been acquired by Cisco
* Parlatype: unreachable, redirects then "No route to host"
* Quotidian: domain is now something else
* Scenic: unreachable, no DNS records
* Songbird: "buy this domain" page
* Permovi: 404, Novell replaced their wiki, then was acquired 3 times
The rest are in various states of abandonment. Over all, this page might have been intended to show the wide use of Gstreamer but right now just gives the idea that the Gstreamer project is dead, as a visitor would have to follow many links to find anything active, if she doesn't hit malware first. If it isn't going to be maintained I suggest removing it entirely.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3326wasapisink: Possible heap corruption with exclusive mode2024-03-08T22:14:09ZJonas Kvingewasapisink: Possible heap corruption with exclusive modeI'm seeing this when debugging in Visual Studio 2022. It only occurs when setting exclusive with wasapisink.
`A breakpoint instruction (__debugbreak() statement or a similar call) was executed in strawberry.exe.`
This happens here: htt...I'm seeing this when debugging in Visual Studio 2022. It only occurs when setting exclusive with wasapisink.
`A breakpoint instruction (__debugbreak() statement or a similar call) was executed in strawberry.exe.`
This happens here: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gst-plugins-bad/sys/wasapi/gstwasapisink.c?ref_type=heads#L222
```
ntdll.dll!00007ff8de2cf2d2() Unknown
ntdll.dll!00007ff8de2d8092() Unknown
ntdll.dll!00007ff8de2d837a() Unknown
ntdll.dll!00007ff8de2de001() Unknown
ntdll.dll!00007ff8de277442() Unknown
ntdll.dll!00007ff8de1f47b1() Unknown
> gstwasapi.dll!gst_wasapi_sink_finalize(_GObject * object) Line 222 C
gobject-2.0-0.dll!g_object_unref(void * _object) Line 4462 C
gstreamer-1.0-0.dll!gst_object_unref(void * object) Line 268 C
gstreamer-1.0-0.dll!gst_bin_remove_func(_GstBin * bin, _GstElement * element) Line 1819 C
gstreamer-1.0-0.dll!gst_bin_remove(_GstBin * bin, _GstElement * element) Line 1868 C
gstreamer-1.0-0.dll!gst_bin_dispose(_GObject * object) Line 528 C
gobject-2.0-0.dll!g_object_unref(void * _object) Line 4386 C
gstreamer-1.0-0.dll!gst_object_unref(void * object) Line 268 C
gstplayback.dll!gst_play_bin3_finalize(_GObject * object) Line 1132 C
gobject-2.0-0.dll!g_object_unref(void * _object) Line 4462 C
gstreamer-1.0-0.dll!gst_object_unref(void * object) Line 268 C
strawberry.exe!GstEnginePipeline::~GstEnginePipeline() Line 206 C++
strawberry.exe!GstEnginePipeline::`scalar deleting destructor'(unsigned int) C++
strawberry.exe!std::_Destroy_in_place<GstEnginePipeline>(GstEnginePipeline & _Obj) Line 313 C++
strawberry.exe!std::_Ref_count_obj2<GstEnginePipeline>::_Destroy() Line 2081 C++
strawberry.exe!std::_Ref_count_base::_Decref() Line 1150 C++
strawberry.exe!std::_Ptr_base<GstEnginePipeline>::_Decref() Line 1368 C++
strawberry.exe!std::shared_ptr<GstEnginePipeline>::~shared_ptr<GstEnginePipeline>() Line 1651 C++
strawberry.exe!std::shared_ptr<GstEnginePipeline>::reset() Line 1698 C++
strawberry.exe!GstEngine::Stop(const bool stop_after) Line 287 C++
strawberry.exe!Player::Stop(const bool stop_after) Line 563 C++
strawberry.exe!QtPrivate::FunctorCall<QtPrivate::IndexesList<0>,QtPrivate::List<bool>,void,void (__cdecl Player::*)(bool)>::call(void(Player::*)(bool) f, Player * o, void * * arg) Line 145 C++
strawberry.exe!QtPrivate::FunctionPointer<void (__cdecl Player::*)(bool)>::call<QtPrivate::List<bool>,void>(void(Player::*)(bool) f, Player * o, void * * arg) Line 183 C++
strawberry.exe!QtPrivate::QCallableObject<void (__cdecl Player::*)(bool),QtPrivate::List<bool>,void>::impl(int which, QtPrivate::QSlotObjectBase * this_, QObject * r, void * * a, bool * ret) Line 523 C++
Qt6Cored.dll!QtPrivate::QSlotObjectBase::call(QObject * r, void * * a) Line 433 C++
Qt6Cored.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 4039 C++
Qt6Cored.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 4100 C++
Qt6Guid.dll!QAction::triggered(bool _t1) Line 647 C++
Qt6Guid.dll!QAction::activate(QAction::ActionEvent event) Line 1103 C++
Qt6Guid.dll!QAction::trigger() Line 210 C++
Qt6Widgetsd.dll!QToolButton::nextCheckState() Line 972 C++
Qt6Widgetsd.dll!QAbstractButtonPrivate::click() Line 363 C++
Qt6Widgetsd.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent * e) Line 975 C++
Qt6Widgetsd.dll!QToolButton::mouseReleaseEvent(QMouseEvent * e) Line 585 C++
Qt6Widgetsd.dll!QWidget::event(QEvent * event) Line 8960 C++
Qt6Widgetsd.dll!QAbstractButton::event(QEvent * e) Line 932 C++
Qt6Widgetsd.dll!QToolButton::event(QEvent * event) Line 988 C++
Qt6Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3296 C++
Qt6Widgetsd.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 2782 C++
Qt6Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1121 C++
Qt6Cored.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver, QEvent * event) Line 1554 C++
Qt6Widgetsd.dll!QApplicationPrivate::sendMouseEvent(QWidget * receiver, QMouseEvent * event, QWidget * alienWidget, QWidget * nativeWidget, QWidget * * buttonDown, QPointer<QWidget> & lastMouseReceiver, bool spontaneous, bool onlyDispatchEnterLeave) Line 2366 C++
Qt6Widgetsd.dll!QWidgetWindow::handleMouseEvent(QMouseEvent * event) Line 655 C++
Qt6Widgetsd.dll!QWidgetWindow::event(QEvent * event) Line 268 C++
Qt6Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3296 C++
Qt6Widgetsd.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3247 C++
Qt6Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1121 C++
Qt6Cored.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver, QEvent * event) Line 1554 C++
Qt6Guid.dll!QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent * e) Line 2326 C++
Qt6Guid.dll!QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent * e) Line 2070 C++
Qt6Guid.dll!QWindowSystemInterface::sendWindowSystemEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 1115 C++
Qt6Guid.dll!QWindowsGuiEventDispatcher::sendPostedEvents() Line 45 C++
Qt6Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 471 C++
Qt6Guid.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 36 C++
Qt6Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 101 C++
Qt6Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 182 C++
Qt6Cored.dll!QCoreApplication::exec() Line 1442 C++
strawberry.exe!main(int argc, char * * argv) Line 321 C++
strawberry.exe!invoke_main() Line 79 C++
strawberry.exe!__scrt_common_main_seh() Line 288 C++
strawberry.exe!__scrt_common_main() Line 331 C++
strawberry.exe!mainCRTStartup(void * __formal) Line 17 C++
kernel32.dll!00007ff8dca47344() Unknown
ntdll.dll!00007ff8de2226b1() Unknown
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3325Performance regressions in master against Intel Celeron J19002024-02-29T08:42:46ZVincas DargisPerformance regressions in master against Intel Celeron J1900Computer with Intel Celeron J1900, running Debian 11, using GStreamer 1.22.1 - 1.22.10, can handle tree RTSP H264 streams at the same time inside Qt application (using qmlglsink) in this configuration, for example:
2x1080p @ 25fps + 1x ...Computer with Intel Celeron J1900, running Debian 11, using GStreamer 1.22.1 - 1.22.10, can handle tree RTSP H264 streams at the same time inside Qt application (using qmlglsink) in this configuration, for example:
2x1080p @ 25fps + 1x 720p @ 20fps
After trying main branch to see if https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3317 was fixed (it was), I've discovered that performance on this machine is highly reduced.
Bisected two commits:
after 5bf85e7588fa2e9978c65b10fb821626fde25591 "gl/colorconvert: use swizzle indices instead of chars" I get 20fps, no longer 25fps for two 1080p streams. 720p stayed the same.
after 6b1fba14bf3f0d845020d5785c74dbc79775cf09 "vaallocator: remove runtime mapping selection" I get only maybe about 7fps for 1080p streams, 720p dropped to about 15fps.
This is "va*:7" output after 6b1fba14bf3f0d845020d5785c74dbc79775cf09:
<details>
```
0:00:00.124427856 63145 0x55a46273b390 INFO vadisplay gstvadisplay_drm.c:155:gst_va_display_drm_create_va_display:<vadisplaydrm0> DRM render node with kernel driver i915
0:00:00.124595328 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: VA-API version 1.10.0
0:00:00.124637712 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
0:00:00.129533664 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: Found init function __vaDriverInit_1_10
0:00:00.130176948 63145 0x55a46273b390 WARN vadisplay gstvadisplay.c:298:_va_warning:<vadisplaydrm0> VA error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
0:00:00.130212468 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: va_openDriver() returns 1
0:00:00.130245948 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
0:00:00.131149620 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: Found init function __vaDriverInit_1_8
0:00:00.132913656 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: va_openDriver() returns 0
0:00:00.132951300 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:362:gst_va_display_initialize:<vadisplaydrm0> VA-API version 1.10
0:00:00.132970008 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:137:_gst_va_display_filter_driver: VA-API driver vendor: Intel i965 driver for Intel(R) Bay Trail - 2.4.1
0:00:00.132995028 63145 0x55a46273b390 INFO va gstvadevice_linux.c:130:gst_va_device_find_devices: Found VA-API device: /dev/dri/renderD128
0:00:00.133743468 63145 0x55a46273b390 LOG va plugin.c:103:plugin_register_decoders: 3 decoder codec: WMV3
0:00:00.133802556 63145 0x55a46273b390 LOG va plugin.c:105:plugin_register_decoders: sink caps: video/x-wmv, wmvversion=(int)3, format=(string)WVC1, profile=(string)advanced, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ]; video/x-wmv, wmvversion=(int)3, profile=(string){ simple, main }, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ]
0:00:00.133834476 63145 0x55a46273b390 LOG va plugin.c:106:plugin_register_decoders: src caps: video/x-raw(memory:VAMemory), width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)NV12; video/x-raw(memory:DMABuf), width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)DMA_DRM, drm-format=(string)NV12:0x0100000000000002; video/x-raw, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)NV12
0:00:00.133855092 63145 0x55a46273b390 DEBUG va plugin.c:159:plugin_register_decoders: No decoder implementation for WMV3
0:00:00.134106888 63145 0x55a46273b390 LOG va plugin.c:103:plugin_register_decoders: 2 decoder codec: MPEG
0:00:00.134137536 63145 0x55a46273b390 LOG va plugin.c:105:plugin_register_decoders: sink caps: video/mpeg, mpegversion=(int)2, profile=(string){ simple, main }, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ]
0:00:00.134169768 63145 0x55a46273b390 LOG va plugin.c:106:plugin_register_decoders: src caps: video/x-raw(memory:VAMemory), width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)NV12; video/x-raw(memory:DMABuf), width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)DMA_DRM, drm-format=(string)NV12:0x0100000000000002; video/x-raw, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)NV12
0:00:00.134838384 63145 0x55a46273b390 LOG va plugin.c:103:plugin_register_decoders: 3 decoder codec: H264
0:00:00.134869536 63145 0x55a46273b390 LOG va plugin.c:105:plugin_register_decoders: sink caps: video/x-h264, profile=(string){ constrained-baseline, main, high }, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ]
0:00:00.134907048 63145 0x55a46273b390 LOG va plugin.c:106:plugin_register_decoders: src caps: video/x-raw(memory:VAMemory), width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)NV12; video/x-raw(memory:DMABuf), width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)DMA_DRM, drm-format=(string)NV12:0x0100000000000002; video/x-raw, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)NV12
0:00:00.135087240 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 48323234 is not supported for export as separate planes.
0:00:00.135107388 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.135184416 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 50343434 is not supported for export as separate planes.
0:00:00.135202860 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.135298188 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 48323234 is not supported for export as separate planes.
0:00:00.135316608 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.135381312 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 50343434 is not supported for export as separate planes.
0:00:00.135399528 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.135494004 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 48323234 is not supported for export as separate planes.
0:00:00.135511872 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.135573492 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 50343434 is not supported for export as separate planes.
0:00:00.135591396 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.135685800 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 48323234 is not supported for export as separate planes.
0:00:00.135703488 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.135766716 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 50343434 is not supported for export as separate planes.
0:00:00.135784368 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.135875436 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 48323234 is not supported for export as separate planes.
0:00:00.135893112 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.135956340 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm0> VA info: vaExportSurfaceHandle: fourcc 50343434 is not supported for export as separate planes.
0:00:00.135977916 63145 0x55a46273b390 INFO vadisplay vasurfaceimage.c:188:va_export_surface_to_dmabuf: vaExportSurfaceHandle: invalid VASurfaceID
0:00:00.136045956 63145 0x55a46273b390 LOG va plugin.c:103:plugin_register_decoders: 1 decoder codec: JPEG
0:00:00.136079616 63145 0x55a46273b390 LOG va plugin.c:105:plugin_register_decoders: sink caps: image/jpeg, sof-marker=(int)0, colorspace=(string){ sYUV, GRAY }, sampling=(string){ YCbCr-4:2:2, YCbCr-4:4:4, GRAYSCALE }, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ]
0:00:00.136110336 63145 0x55a46273b390 LOG va plugin.c:106:plugin_register_decoders: src caps: video/x-raw(memory:VAMemory), width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string){ GRAY8, Y42B, Y444 }; video/x-raw, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string){ GRAY8, Y42B, Y444 }
0:00:00.136592784 63145 0x55a46273b390 LOG va plugin.c:189:plugin_register_encoders: 2 encoder codec: MPEG
0:00:00.136631964 63145 0x55a46273b390 LOG va plugin.c:192:plugin_register_encoders: sink caps: video/x-raw(memory:VAMemory), width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ], format=(string){ NV12, I420, YV12 }; video/x-raw(memory:DMABuf), width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ], format=(string)DMA_DRM, drm-format=(string){ NV12:0x0100000000000002, YU12, YV12 }; video/x-raw, width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ], format=(string){ NV12, I420, YV12 }
0:00:00.136660248 63145 0x55a46273b390 LOG va plugin.c:193:plugin_register_encoders: src caps: video/mpeg, mpegversion=(int)2, profile=(string){ simple, main }, width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ]
0:00:00.136679748 63145 0x55a46273b390 DEBUG va plugin.c:211:plugin_register_encoders: No encoder implementation for MPEG
0:00:00.137027844 63145 0x55a46273b390 LOG va plugin.c:189:plugin_register_encoders: 3 encoder codec: H264
0:00:00.137062284 63145 0x55a46273b390 LOG va plugin.c:192:plugin_register_encoders: sink caps: video/x-raw(memory:VAMemory), width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ], format=(string)NV12; video/x-raw(memory:DMABuf), width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ], format=(string)DMA_DRM, drm-format=(string)NV12:0x0100000000000002; video/x-raw, width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ], format=(string)NV12
0:00:00.137088348 63145 0x55a46273b390 LOG va plugin.c:193:plugin_register_encoders: src caps: video/x-h264, profile=(string){ constrained-baseline, main, high }, width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ]
0:00:00.229909476 63145 0x55a46273b390 INFO vadisplay gstvadisplay_drm.c:155:gst_va_display_drm_create_va_display:<vadisplaydrm1> DRM render node with kernel driver i915
0:00:00.230022192 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm1> VA info: VA-API version 1.10.0
0:00:00.230054868 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm1> VA info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
0:00:00.230101944 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm1> VA info: Found init function __vaDriverInit_1_10
0:00:00.230358096 63145 0x55a46273b390 WARN vadisplay gstvadisplay.c:298:_va_warning:<vadisplaydrm1> VA error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
0:00:00.230379516 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm1> VA info: va_openDriver() returns 1
0:00:00.230405604 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm1> VA info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
0:00:00.230441208 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm1> VA info: Found init function __vaDriverInit_1_8
0:00:00.231917268 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:310:_va_info:<vadisplaydrm1> VA info: va_openDriver() returns 0
0:00:00.231957204 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:362:gst_va_display_initialize:<vadisplaydrm1> VA-API version 1.10
0:00:00.231973692 63145 0x55a46273b390 INFO vadisplay gstvadisplay.c:137:_gst_va_display_filter_driver: VA-API driver vendor: Intel i965 driver for Intel(R) Bay Trail - 2.4.1
0:00:00.421897212 63145 0x55a46252aaa0 INFO vah264dec gstvah264dec.c:693:gst_va_h264_dec_new_sequence:<vah264dec0> Format changed to VAProfileH264ConstrainedBaseline [1] (1920x1088)
0:00:00.421947684 63145 0x55a46252aaa0 INFO vah264dec gstvah264dec.c:703:gst_va_h264_dec_new_sequence:<vah264dec0> Resolution changed to 1920x1080
0:00:00.421966140 63145 0x55a46252aaa0 INFO vah264dec gstvah264dec.c:725:gst_va_h264_dec_new_sequence:<vah264dec0> crop rect changed to (0,0)-->(0,8)
0:00:00.426970068 63145 0x55a46252aaa0 LOG vah264dec gstvabasedec.c:199:gst_va_base_dec_src_query:<vah264dec0> Returning caps video/x-raw(memory:VAMemory), width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)NV12; video/x-raw(memory:DMABuf), width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)DMA_DRM, drm-format=(string)NV12:0x0100000000000002; video/x-raw, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)NV12
0:00:00.428651952 63145 0x55a46252aaa0 DEBUG vah264dec gstvabasedec.c:945:gst_va_base_dec_get_preferred_format_and_caps_features:<vah264dec0> Allowed caps video/x-raw, width=(int)[ 1, 4096 ], height=(int)[ 1, 4096 ], format=(string)NV12, framerate=(fraction)[ 0/1, 2147483647/1 ]
0:00:00.428771340 63145 0x55a46252aaa0 INFO vah264dec gstvabasedec.c:1237:gst_va_base_dec_set_output_state:<vah264dec0> Negotiated caps video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)1:3:5:1, framerate=(fraction)0/1
0:00:00.434518284 63145 0x55a46252aaa0 DEBUG vah264dec gstvabasedec.c:560:gst_va_base_dec_decide_allocation:<vah264dec0> may need other pool for copy frames <glbufferpool2>
0:00:00.434698308 63145 0x55a46252aaa0 LOG vapool gstvapool.c:408:gst_va_pool_new:<vapool0> new va video buffer pool 0x7f0ae002b7d0
0:00:00.434835312 63145 0x55a46252aaa0 LOG vapool gstvapool.c:175:gst_va_pool_set_config:<vapool0> 1920x1080 | video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)1:3:5:1, framerate=(fraction)0/1
0:00:00.434909712 63145 0x55a46252aaa0 DEBUG vamemory gstvaallocator.c:1356:_update_image_info:<vaallocator0> Created surface 0x4000000 [1920x1088]
0:00:00.434987136 63145 0x55a46252aaa0 INFO vamemory gstvaallocator.c:1872:gst_va_allocator_try:<vaallocator0> va allocator info, surface format: NV12, image format: NV12, use derived: true, rt format: 0x1, fourcc: NV12
0:00:00.435003288 63145 0x55a46252aaa0 INFO vapool gstvapool.c:226:gst_va_pool_set_config:<vapool0> Video meta is required in buffer.
0:00:00.435116544 63145 0x55a46252aaa0 LOG vamemory gstvaallocator.c:1698:gst_va_allocator_alloc:<vaallocator0> Created surface 0x4000000 [1920x1088]
0:00:00.435197736 63145 0x55a46252aaa0 LOG vamemory gstvaallocator.c:1698:gst_va_allocator_alloc:<vaallocator0> Created surface 0x4000001 [1920x1088]
0:00:00.435237120 63145 0x55a46252aaa0 LOG vamemory gstvaallocator.c:1698:gst_va_allocator_alloc:<vaallocator0> Created surface 0x4000002 [1920x1088]
0:00:00.435288168 63145 0x55a46252aaa0 LOG vamemory gstvaallocator.c:1698:gst_va_allocator_alloc:<vaallocator0> Created surface 0x4000003 [1920x1088]
0:00:00.435330660 63145 0x55a46252aaa0 LOG vamemory gstvaallocator.c:1698:gst_va_allocator_alloc:<vaallocator0> Created surface 0x4000004 [1920x1088]
0:00:00.435372528 63145 0x55a46252aaa0 LOG vamemory gstvaallocator.c:1698:gst_va_allocator_alloc:<vaallocator0> Created surface 0x4000005 [1920x1088]
0:00:00.435414528 63145 0x55a46252aaa0 LOG vamemory gstvaallocator.c:1698:gst_va_allocator_alloc:<vaallocator0> Created surface 0x4000006 [1920x1088]
0:00:00.435456732 63145 0x55a46252aaa0 LOG vamemory gstvaallocator.c:1698:gst_va_allocator_alloc:<vaallocator0> Created surface 0x4000007 [1920x1088]
0:00:00.435498204 63145 0x55a46252aaa0 LOG vamemory gstvaallocator.c:1698:gst_va_allocator_alloc:<vaallocator0> Created surface 0x4000008 [1920x1088]
0:00:00.435550776 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:495:gst_va_h264_dec_new_picture:<vah264dec0> New va decode picture 0x7f0ae802a9f0 - 0x4000000
0:00:00.435701988 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:103:gst_va_h264_dec_end_picture:<vah264dec0> end picture 0x7f0ae8008620, (poc 0)
0:00:00.435723684 63145 0x55a46252aaa0 TRACE vadecoder gstvadecoder.c:632:gst_va_decoder_decode_with_aux_surface:<vadecoder0> Decode to surface 0x4000000
0:00:00.440149152 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:123:gst_va_h264_dec_output_picture:<vah264dec0> Outputting picture 0x7f0ae8008620 (poc 0)
0:00:00.682258692 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:495:gst_va_h264_dec_new_picture:<vah264dec0> New va decode picture 0x7f0ae800e9f0 - 0x4000001
0:00:00.682396320 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:103:gst_va_h264_dec_end_picture:<vah264dec0> end picture 0x7f0ae8010c20, (poc 2)
0:00:00.682416912 63145 0x55a46252aaa0 TRACE vadecoder gstvadecoder.c:632:gst_va_decoder_decode_with_aux_surface:<vadecoder0> Decode to surface 0x4000001
0:00:00.688245912 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:123:gst_va_h264_dec_output_picture:<vah264dec0> Outputting picture 0x7f0ae8010c20 (poc 2)
0:00:00.761617944 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:495:gst_va_h264_dec_new_picture:<vah264dec0> New va decode picture 0x7f0ae803bb60 - 0x4000002
0:00:00.761766552 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:103:gst_va_h264_dec_end_picture:<vah264dec0> end picture 0x7f0ae8038d90, (poc 4)
0:00:00.761794404 63145 0x55a46252aaa0 TRACE vadecoder gstvadecoder.c:632:gst_va_decoder_decode_with_aux_surface:<vadecoder0> Decode to surface 0x4000002
0:00:00.765499428 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:123:gst_va_h264_dec_output_picture:<vah264dec0> Outputting picture 0x7f0ae8038d90 (poc 4)
0:00:00.765952356 63145 0x55a46252aaa0 WARN videodecoder gstvideodecoder.c:3661:gst_video_decoder_clip_and_push_buf:<vah264dec0> Dropping frame due to QoS. start:0:00:00.106413596 deadline:0:00:00.106413596 earliest_time:0:00:00.574469524
0:00:00.766325160 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:495:gst_va_h264_dec_new_picture:<vah264dec0> New va decode picture 0x7f0ae803a060 - 0x4000003
0:00:00.766475208 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:103:gst_va_h264_dec_end_picture:<vah264dec0> end picture 0x7f0ae80390a0, (poc 6)
0:00:00.766499304 63145 0x55a46252aaa0 TRACE vadecoder gstvadecoder.c:632:gst_va_decoder_decode_with_aux_surface:<vadecoder0> Decode to surface 0x4000003
0:00:00.770761848 63145 0x55a46252aaa0 LOG vah264dec gstvah264dec.c:123:gst_va_h264_dec_output_picture:<vah264dec0> Outputting picture 0x7f0ae80390a0 (poc 6)
0:00:00.770849652 63145 0x55a46252aaa0 WARN videodecoder gstvideodecoder.c:3661:gst_video_decoder_clip_and_push_buf:<vah264dec0> Dropping frame due to QoS. start:0:00:00.146413596 deadline:0:00:00.146413596 earliest_time:0:00:00.574469524
```
</details>
I can see it struggling with single output using simplified pipeline (compared that we use in Qt software) using `gst-launch-1.0`:
```
rtspsrc 'location=rtsp://...' protocols=tcp latency=100 buffer-mode=slave ! queue ! rtph264depay ! h264parse ! vah264dec ! glupload ! glcolorconvert ! glimagesink
```
Some more info:
```
vainfo: VA-API version: 1.10 (libva 2.10.0)
```
```
libgl1-mesa-dri:amd64 20.3.5-1
```
@ystreet
@vjaquezhttps://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/500webrtcsink: property 'extensions' of type 'GstRtpVP8Pay' not found2024-02-20T18:38:28ZKévin Commaillewebrtcsink: property 'extensions' of type 'GstRtpVP8Pay' not found### Describe your issue
When running the [livekitwebrtcsink](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/tree/main/net/webrtc?ref_type=heads#using-the-livekit-signaller) example with gst-launch, a crash happens with the me...### Describe your issue
When running the [livekitwebrtcsink](https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/tree/main/net/webrtc?ref_type=heads#using-the-livekit-signaller) example with gst-launch, a crash happens with the message: `property 'extensions' of type 'GstRtpVP8Pay' not found`.
This seems to be the continuation of #478, where the fix that closed it is not completely functional for GStreamer 1.22. Building GStreamer from git fixes the issue.
Backtrace with `RUST_BACKTRACE=1`:
```
thread 'tokio-runtime-worker' panicked at /var/home/cakeh/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/03c5a85/glib/src/object.rs:2345:13:
property 'extensions' of type 'GstRtpVP8Pay' not found
stack backtrace:
0: rust_begin_unwind0,3 %)
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
1: core::panicking::panic_fmt
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
2: <T as glib::object::ObjectExt>::property_value::{{closure}}
at /var/home/cakeh/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/03c5a85/glib/src/object.rs:2345:13
3: core::option::Option<T>::unwrap_or_else
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/option.rs:976:21
4: <T as glib::object::ObjectExt>::property_value
at /var/home/cakeh/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/03c5a85/glib/src/object.rs:2344:21
5: <T as glib::object::ObjectExt>::property
at /var/home/cakeh/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/03c5a85/glib/src/object.rs:2334:20
6: gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::pick_twcc_extension_id
at ./net/webrtc/src/webrtcsink/imp.rs:1555:54
7: gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::configure_congestion_control
at ./net/webrtc/src/webrtcsink/imp.rs:1500:29
8: gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::configure_payloader
at ./net/webrtc/src/webrtcsink/imp.rs:1610:9
9: gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::run_discovery_pipeline::{{closure}}
at ./net/webrtc/src/webrtcsink/imp.rs:3228:9
10: <futures_util::future::maybe_done::MaybeDone<Fut> as core::future::future::Future>::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.30/src/future/maybe_done.rs:95:38
11: <futures_util::future::join_all::JoinAll<F> as core::future::future::Future>::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.30/src/future/join_all.rs:143:24
12: gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::lookup_caps::{{closure}}
at ./net/webrtc/src/webrtcsink/imp.rs:3413:52
13: <futures_util::abortable::Abortable<Fut> as core::future::future::Future>::poll::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.30/src/abortable.rs:170:37
14: futures_util::abortable::Abortable<T>::try_poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.30/src/abortable.rs:144:33
15: <futures_util::abortable::Abortable<Fut> as core::future::future::Future>::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/futures-util-0.3.30/src/abortable.rs:170:9
16: gstrswebrtc::webrtcsink::imp::BaseWebRTCSink::start_stream_discovery_if_needed::{{closure}}
at ./net/webrtc/src/webrtcsink/imp.rs:3584:23
17: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/core.rs:328:17
18: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/loom/std/unsafe_cell.rs:16:9
19: tokio::runtime::task::core::Core<T,S>::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/core.rs:317:13
20: tokio::runtime::task::harness::poll_future::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:485:19
21: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
22: std::panicking::try::do_call
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
23: std::panicking::try
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
24: std::panic::catch_unwind
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
25: tokio::runtime::task::harness::poll_future
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:473:18
26: tokio::runtime::task::harness::Harness<T,S>::poll_inner
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:208:27
27: tokio::runtime::task::harness::Harness<T,S>::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:153:15
28: tokio::runtime::task::raw::RawTask::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/raw.rs:201:18
29: tokio::runtime::task::LocalNotified<S>::run
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/mod.rs:416:9
30: tokio::runtime::scheduler::multi_thread::worker::Context::run_task::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:576:13
31: tokio::runtime::coop::with_budget
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/coop.rs:107:5
32: tokio::runtime::coop::budget
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/coop.rs:73:5
33: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:575:9
34: tokio::runtime::scheduler::multi_thread::worker::Context::run
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:526:24
35: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:491:21
36: tokio::runtime::context::scoped::Scoped<T>::set
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context/scoped.rs:40:9
37: tokio::runtime::context::set_scheduler::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context.rs:176:26
38: std::thread::local::LocalKey<T>::try_with
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/local.rs:270:16
39: std::thread::local::LocalKey<T>::with
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/thread/local.rs:246:9
40: tokio::runtime::context::set_scheduler
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context.rs:176:9
41: tokio::runtime::scheduler::multi_thread::worker::run::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:486:9
42: tokio::runtime::context::runtime::enter_runtime
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/context/runtime.rs:65:16
43: tokio::runtime::scheduler::multi_thread::worker::run
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:478:5
44: tokio::runtime::scheduler::multi_thread::worker::Launch::launch::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/scheduler/multi_thread/worker.rs:447:45
45: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/blocking/task.rs:42:21
46: tokio::runtime::task::core::Core<T,S>::poll::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/core.rs:328:17
47: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/loom/std/unsafe_cell.rs:16:9
48: tokio::runtime::task::core::Core<T,S>::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/core.rs:317:13
49: tokio::runtime::task::harness::poll_future::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:485:19
50: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panic/unwind_safe.rs:272:9
51: std::panicking::try::do_call
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40
52: std::panicking::try
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19
53: std::panic::catch_unwind
at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14
54: tokio::runtime::task::harness::poll_future
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:473:18
55: tokio::runtime::task::harness::Harness<T,S>::poll_inner
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:208:27
56: tokio::runtime::task::harness::Harness<T,S>::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/harness.rs:153:15
57: tokio::runtime::task::raw::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/raw.rs:271:5
58: tokio::runtime::task::raw::RawTask::poll
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/raw.rs:201:18
59: tokio::runtime::task::UnownedTask<S>::run
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/task/mod.rs:453:9
60: tokio::runtime::blocking::pool::Task::run
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/blocking/pool.rs:159:9
61: tokio::runtime::blocking::pool::Inner::run
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/blocking/pool.rs:513:17
62: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
at /var/home/cakeh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.36.0/src/runtime/blocking/pool.rs:471:13
```
#### Setup
- **Operating System:** Fedora 39 Silverblue
- **Device:** Computer
- **gst-plugins-rs Version:** 8f3a6171ac6d0be0ef93a657493817fb3a551c0a (latest commit as of now)
- **GStreamer Version:** 1.22.9
- **Command line:**
#### How to reproduce
Use the same command as the example:
```sh
gst-launch-1.0 -e uridecodebin uri=file:///home/meh/path/to/video/file ! \
videoconvert ! video/x-raw ! queue ! \
livekitwebrtcsink signaller::ws-url=ws://127.0.0.1:7880 signaller::auth-token=mygeneratedtoken signaller::room-name=testroom
```https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3324playbin3: stuck playing an A/V media after an audio one2024-02-23T09:17:46ZGuillaume Desmottesplaybin3: stuck playing an A/V media after an audio oneTo reproduce:
```
$ git clone https://gitlab.freedesktop.org/gdesmott/test-gst.git --branch playbin3
$ cd test-gst/
$ wget https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/raw/main/utils/uriplaylistbin/tests/sample.mkv
$ wget h...To reproduce:
```
$ git clone https://gitlab.freedesktop.org/gdesmott/test-gst.git --branch playbin3
$ cd test-gst/
$ wget https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/raw/main/utils/uriplaylistbin/tests/sample.mkv
$ wget https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/raw/main/utils/uriplaylistbin/tests/sample.ogg
$ cargo run -- file://$(pwd)/sample.ogg file://$(pwd)/sample.mkv
```
This one is harder to reproduce so you may have to run it in a loop for a while.
```
Thread 9 (Thread 0x7f2e996006c0 (LWP 1761297) "multiqueue2:src"):
#0 0x00007f2ea99b39cd in syscall () at /lib64/libc.so.6
#1 0x00007f2ea9c33ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f2ea94b0b61 in gst_data_queue_push (queue=0x7f2e8c00e890, item=0x7f2e6402ea50) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:521
#3 0x00007f2ea95168c2 in gst_multi_queue_chain (pad=0x7f2e9c06d7f0, parent=0x563910b04000, buffer=0x7f2e6402e8a0) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2538
#4 0x00007f2ea9fc8fb7 in gst_pad_chain_data_unchecked (pad=0x7f2e9c06d7f0, type=4112, data=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4494
#5 0x00007f2ea9fca0ef in gst_pad_push_data (pad=0x7f2e9c06d5a0, type=4112, data=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4770
#6 0x00007f2ea9fca842 in gst_pad_push (pad=0x7f2e9c06d5a0, buffer=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4889
#7 0x00007f2ea949e991 in gst_base_transform_chain (pad=0x7f2e9c06d350, parent=0x7f2e8c00cc50, buffer=0x7f2e6402e8a0) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:2391
#8 0x00007f2ea9fc8fb7 in gst_pad_chain_data_unchecked (pad=0x7f2e9c06d350, type=4112, data=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4494
#9 0x00007f2ea9fca0ef in gst_pad_push_data (pad=0x563910b00090, type=4112, data=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4770
#10 0x00007f2ea9fca842 in gst_pad_push (pad=0x563910b00090, buffer=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4889
#11 0x00007f2ea9fa30a8 in gst_proxy_pad_chain_default (pad=0x563910afe050, parent=0x563910afc0b0, buffer=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstghostpad.c:127
#12 0x00007f2ea9fc8fb7 in gst_pad_chain_data_unchecked (pad=0x563910afe050, type=4112, data=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4494
#13 0x00007f2ea9fca0ef in gst_pad_push_data (pad=0x7f2e8403c7a0, type=4112, data=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4770
#14 0x00007f2ea9fca842 in gst_pad_push (pad=0x7f2e8403c7a0, buffer=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4889
#15 0x00007f2ea9fa30a8 in gst_proxy_pad_chain_default (pad=0x7f2e7c011db0, parent=0x7f2e8403c7a0, buffer=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstghostpad.c:127
#16 0x00007f2ea9fc8fb7 in gst_pad_chain_data_unchecked (pad=0x7f2e7c011db0, type=4112, data=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4494
#17 0x00007f2ea9fca0ef in gst_pad_push_data (pad=0x7f2e64018d00, type=4112, data=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4770
#18 0x00007f2ea9fca842 in gst_pad_push (pad=0x7f2e64018d00, buffer=0x7f2e6402e8a0) at ../subprojects/gstreamer/gst/gstpad.c:4889
#19 0x00007f2ea9513ca1 in gst_single_queue_push_one (mq=0x563910b04e00, sq=0x7f2e6402a840, object=0x7f2e6402e8a0, allow_drop=0x7f2e995ffbfc) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2009
#20 0x00007f2ea951583b in gst_multi_queue_loop (pad=0x7f2e64018d00) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2345
#21 0x00007f2eaa0091ee in gst_task_func (task=0x7f2e7c00cef0) at ../subprojects/gstreamer/gst/gsttask.c:399
#22 0x00007f2eaa00a5f9 in default_func (tdata=0x7f2e6402a710, pool=0x563910b02380) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#23 0x00007f2ea9c17052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#24 0x00007f2ea9c13f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#25 0x00007f2ea993a19d in start_thread () at /lib64/libc.so.6
#26 0x00007f2ea99bbc60 in clone3 () at /lib64/libc.so.6
Thread 8 (Thread 0x7f2e9a0006c0 (LWP 1761296) "multiqueue2:src"):
#0 0x00007f2ea99b39cd in syscall () at /lib64/libc.so.6
#1 0x00007f2ea9c33ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f2ea9514ed6 in gst_multi_queue_loop (pad=0x7f2e64018860) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2277
#3 0x00007f2eaa0091ee in gst_task_func (task=0x7f2e7c00cdd0) at ../subprojects/gstreamer/gst/gsttask.c:399
#4 0x00007f2eaa00a5f9 in default_func (tdata=0x7f2e64029320, pool=0x563910b02380) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#5 0x00007f2ea9c17052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#6 0x00007f2ea9c13f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#7 0x00007f2ea993a19d in start_thread () at /lib64/libc.so.6
#8 0x00007f2ea99bbc60 in clone3 () at /lib64/libc.so.6
Thread 7 (Thread 0x7f2e9aa006c0 (LWP 1761295) "pool-test-gst"):
#0 0x00007f2ea99b39cd in syscall () at /lib64/libc.so.6
#1 0x00007f2ea9c34420 in g_cond_wait_until () at /lib64/libglib-2.0.so.0
#2 0x00007f2ea9bb4451 in g_async_queue_pop_intern_unlocked () at /lib64/libglib-2.0.so.0
#3 0x00007f2ea9bb45e5 in g_async_queue_timeout_pop () at /lib64/libglib-2.0.so.0
#4 0x00007f2ea9c16f05 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f2ea9c13f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f2ea993a19d in start_thread () at /lib64/libc.so.6
#7 0x00007f2ea99bbc60 in clone3 () at /lib64/libc.so.6
Thread 6 (Thread 0x7f2e9b4006c0 (LWP 1761294) "matroskademux0:"):
#0 0x00007f2ea99b39cd in syscall () at /lib64/libc.so.6
#1 0x00007f2ea9c33ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f2eaa00910e in gst_task_func (task=0x7f2e7c00c950) at ../subprojects/gstreamer/gst/gsttask.c:384
#3 0x00007f2eaa00a5f9 in default_func (tdata=0x7f2e74015e00, pool=0x563910b02380) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#4 0x00007f2ea9c17052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f2ea9c13f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f2ea993a19d in start_thread () at /lib64/libc.so.6
#7 0x00007f2ea99bbc60 in clone3 () at /lib64/libc.so.6
Thread 5 (Thread 0x7f2e9be006c0 (LWP 1761293) "aqueue:src"):
#0 0x00007f2ea99b39cd in syscall () at /lib64/libc.so.6
#1 0x00007f2ea9c33ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f2ea95351fb in gst_queue_loop (pad=0x7f2e8401c110) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1572
#3 0x00007f2eaa0091ee in gst_task_func (task=0x7f2e7c00c4d0) at ../subprojects/gstreamer/gst/gsttask.c:399
#4 0x00007f2eaa00a5f9 in default_func (tdata=0x7f2e8403b690, pool=0x563910b02380) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#5 0x00007f2ea9c17052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#6 0x00007f2ea9c13f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#7 0x00007f2ea993a19d in start_thread () at /lib64/libc.so.6
--Type <RET> for more, q to quit, c to continue without paging--c
#8 0x00007f2ea99bbc60 in clone3 () at /lib64/libc.so.6
Thread 4 (Thread 0x7f2ea0c006c0 (LWP 1761292) "typefind:sink"):
#0 0x00007f2ea99b39cd in syscall () at /lib64/libc.so.6
#1 0x00007f2ea9c33ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f2eaa00910e in gst_task_func (task=0x7f2e9c06edd0) at ../subprojects/gstreamer/gst/gsttask.c:384
#3 0x00007f2eaa00a5f9 in default_func (tdata=0x7f2e7c006450, pool=0x563910b02380) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#4 0x00007f2ea9c17052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f2ea9c13f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f2ea993a19d in start_thread () at /lib64/libc.so.6
#7 0x00007f2ea99bbc60 in clone3 () at /lib64/libc.so.6
Thread 3 (Thread 0x7f2ea16006c0 (LWP 1761291) "typefindelement"):
#0 0x00007f2ea99b39cd in syscall () at /lib64/libc.so.6
#1 0x00007f2ea9c33ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f2eaa00910e in gst_task_func (task=0x7f2e9c06e3b0) at ../subprojects/gstreamer/gst/gsttask.c:384
#3 0x00007f2eaa00a5f9 in default_func (tdata=0x7f2e940206f0, pool=0x563910b02380) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#4 0x00007f2ea9c17052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f2ea9c13f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f2ea993a19d in start_thread () at /lib64/libc.so.6
#7 0x00007f2ea99bbc60 in clone3 () at /lib64/libc.so.6
Thread 2 (Thread 0x7f2ea20006c0 (LWP 1761290) "multiqueue0:src"):
#0 0x00007f2ea99b39cd in syscall () at /lib64/libc.so.6
#1 0x00007f2ea9c33ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f2ea9fc6252 in do_probe_callbacks (pad=0x7f2e9401a850, info=0x7f2ea1ffe3a0, defaultval=GST_FLOW_OK) at ../subprojects/gstreamer/gst/gstpad.c:3925
#3 0x00007f2ea9fccfd2 in gst_pad_push_event_unchecked (pad=0x7f2e9401a850, event=0x7f2e6401d700, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5552
#4 0x00007f2ea9fc6a88 in push_sticky (pad=0x7f2e9401a850, ev=0x7f2ea1ffe4d0, user_data=0x7f2ea1ffe530) at ../subprojects/gstreamer/gst/gstpad.c:4083
#5 0x00007f2ea9fbbfc4 in events_foreach (pad=0x7f2e9401a850, func=0x7f2ea9fc6954 <push_sticky>, user_data=0x7f2ea1ffe530) at ../subprojects/gstreamer/gst/gstpad.c:613
#6 0x00007f2ea9fc6e57 in check_sticky (pad=0x7f2e9401a850, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:4142
#7 0x00007f2ea9fcdac3 in gst_pad_push_event (pad=0x7f2e9401a850, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:5737
#8 0x00007f2ea9fc42ad in event_forward_func (pad=0x7f2e9401a850, data=0x7f2ea1ffe6d0) at ../subprojects/gstreamer/gst/gstpad.c:3156
#9 0x00007f2ea9fc40a9 in gst_pad_forward (pad=0x563910affd90, forward=0x7f2ea9fc4183 <event_forward_func>, user_data=0x7f2ea1ffe6d0) at ../subprojects/gstreamer/gst/gstpad.c:3110
#10 0x00007f2ea9fc4471 in gst_pad_event_default (pad=0x563910affd90, parent=0x563910b0a1a0, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:3207
#11 0x00007f2ea9fce988 in gst_pad_send_event_unchecked (pad=0x563910affd90, event=0x7f2e6401d700, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5971
#12 0x00007f2ea9fcd2ca in gst_pad_push_event_unchecked (pad=0x7f2e8c00aa20, event=0x7f2e6401d700, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5604
#13 0x00007f2ea9fc6a88 in push_sticky (pad=0x7f2e8c00aa20, ev=0x7f2ea1ffe910, user_data=0x7f2ea1ffe970) at ../subprojects/gstreamer/gst/gstpad.c:4083
#14 0x00007f2ea9fbbfc4 in events_foreach (pad=0x7f2e8c00aa20, func=0x7f2ea9fc6954 <push_sticky>, user_data=0x7f2ea1ffe970) at ../subprojects/gstreamer/gst/gstpad.c:613
#15 0x00007f2ea9fc6e57 in check_sticky (pad=0x7f2e8c00aa20, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:4142
#16 0x00007f2ea9fcdac3 in gst_pad_push_event (pad=0x7f2e8c00aa20, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:5737
#17 0x00007f2ea9fc42ad in event_forward_func (pad=0x7f2e8c00aa20, data=0x7f2ea1ffeb10) at ../subprojects/gstreamer/gst/gstpad.c:3156
#18 0x00007f2ea9fc40a9 in gst_pad_forward (pad=0x7f2e9401b430, forward=0x7f2ea9fc4183 <event_forward_func>, user_data=0x7f2ea1ffeb10) at ../subprojects/gstreamer/gst/gstpad.c:3110
#19 0x00007f2ea9fc4471 in gst_pad_event_default (pad=0x7f2e9401b430, parent=0x7f2e8c00aa20, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:3207
#20 0x00007f2ea9fce988 in gst_pad_send_event_unchecked (pad=0x7f2e9401b430, event=0x7f2e6401d700, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5971
#21 0x00007f2ea9fcd2ca in gst_pad_push_event_unchecked (pad=0x7f2e8c00a7b0, event=0x7f2e6401d700, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5604
#22 0x00007f2ea9fc6a88 in push_sticky (pad=0x7f2e8c00a7b0, ev=0x7f2ea1ffed50, user_data=0x7f2ea1ffedb0) at ../subprojects/gstreamer/gst/gstpad.c:4083
#23 0x00007f2ea9fbbfc4 in events_foreach (pad=0x7f2e8c00a7b0, func=0x7f2ea9fc6954 <push_sticky>, user_data=0x7f2ea1ffedb0) at ../subprojects/gstreamer/gst/gstpad.c:613
#24 0x00007f2ea9fc6e57 in check_sticky (pad=0x7f2e8c00a7b0, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:4142
#25 0x00007f2ea9fcdac3 in gst_pad_push_event (pad=0x7f2e8c00a7b0, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:5737
#26 0x00007f2ea9fc42ad in event_forward_func (pad=0x7f2e8c00a7b0, data=0x7f2ea1ffef50) at ../subprojects/gstreamer/gst/gstpad.c:3156
#27 0x00007f2ea9fc40a9 in gst_pad_forward (pad=0x7f2e9401b1d0, forward=0x7f2ea9fc4183 <event_forward_func>, user_data=0x7f2ea1ffef50) at ../subprojects/gstreamer/gst/gstpad.c:3110
#28 0x00007f2ea9fc4471 in gst_pad_event_default (pad=0x7f2e9401b1d0, parent=0x7f2e8c00a7b0, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:3207
#29 0x00007f2ea9fce988 in gst_pad_send_event_unchecked (pad=0x7f2e9401b1d0, event=0x7f2e6401d700, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5971
#30 0x00007f2ea9fcd2ca in gst_pad_push_event_unchecked (pad=0x7f2e8c011ac0, event=0x7f2e6401d700, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5604
#31 0x00007f2ea9fc6a88 in push_sticky (pad=0x7f2e8c011ac0, ev=0x7f2ea1fff190, user_data=0x7f2ea1fff1f0) at ../subprojects/gstreamer/gst/gstpad.c:4083
#32 0x00007f2ea9fbbfc4 in events_foreach (pad=0x7f2e8c011ac0, func=0x7f2ea9fc6954 <push_sticky>, user_data=0x7f2ea1fff1f0) at ../subprojects/gstreamer/gst/gstpad.c:613
#33 0x00007f2ea9fc6e57 in check_sticky (pad=0x7f2e8c011ac0, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:4142
#34 0x00007f2ea9fcdac3 in gst_pad_push_event (pad=0x7f2e8c011ac0, event=0x7f2e6401d700) at ../subprojects/gstreamer/gst/gstpad.c:5737
#35 0x00007f2ea93280c4 in gst_audio_decoder_push_event (dec=0x7f2e8401af00, event=0x7f2e6401d700) at ../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:651
#36 0x00007f2ea932a3eb in send_pending_events (dec=0x7f2e8401af00) at ../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1148
#37 0x00007f2ea932af3c in gst_audio_decoder_finish_frame_or_subframe (dec=0x7f2e8401af00, buf=0x7f2e9401f6a0, frames=1) at ../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1388
#38 0x00007f2ea932ac1e in gst_audio_decoder_finish_frame (dec=0x7f2e8401af00, buf=0x7f2e9401f6a0, frames=1) at ../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1337
#39 0x00007f2ea90135ee in vorbis_handle_data_packet (vd=0x7f2e8401af00, packet=0x7f2ea1fff6e0, timestamp=0, duration=2000000) at ../subprojects/gst-plugins-base/ext/vorbis/gstvorbisdec.c:539
#40 0x00007f2ea901465f in vorbis_dec_handle_frame (dec=0x7f2e8401af00, buffer=0x7f2e6401fc20) at ../subprojects/gst-plugins-base/ext/vorbis/gstvorbisdec.c:749
#41 0x00007f2ea932c8ee in gst_audio_decoder_handle_frame (dec=0x7f2e8401af00, klass=0x7f2e8401a470, buffer=0x7f2e6401fc20) at ../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1655
#42 0x00007f2ea932ce3c in gst_audio_decoder_push_buffers (dec=0x7f2e8401af00, force=0) at ../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1753
#43 0x00007f2ea932d48b in gst_audio_decoder_chain_forward (dec=0x7f2e8401af00, buffer=0x0) at ../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:1867
#44 0x00007f2ea932ea59 in gst_audio_decoder_chain (pad=0x7f2e8c011870, parent=0x7f2e8401af00, buffer=0x7f2e6401fc20) at ../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiodecoder.c:2126
#45 0x00007f2ea9fc8fb7 in gst_pad_chain_data_unchecked (pad=0x7f2e8c011870, type=4112, data=0x7f2e6401fc20) at ../subprojects/gstreamer/gst/gstpad.c:4494
#46 0x00007f2ea9fca0ef in gst_pad_push_data (pad=0x7f2e9c06da40, type=4112, data=0x7f2e6401fc20) at ../subprojects/gstreamer/gst/gstpad.c:4770
#47 0x00007f2ea9fca842 in gst_pad_push (pad=0x7f2e9c06da40, buffer=0x7f2e6401fc20) at ../subprojects/gstreamer/gst/gstpad.c:4889
#48 0x00007f2ea9513ca1 in gst_single_queue_push_one (mq=0x563910b04000, sq=0x7f2e8c00de40, object=0x7f2e6401fc20, allow_drop=0x7f2ea1fffbfc) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2009
#49 0x00007f2ea951583b in gst_multi_queue_loop (pad=0x7f2e9c06da40) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2345
#50 0x00007f2eaa0091ee in gst_task_func (task=0x7f2e9c06e710) at ../subprojects/gstreamer/gst/gsttask.c:399
#51 0x00007f2eaa00a5f9 in default_func (tdata=0x7f2e8c00e770, pool=0x563910b02380) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#52 0x00007f2ea9c17052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#53 0x00007f2ea9c13f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#54 0x00007f2ea993a19d in start_thread () at /lib64/libc.so.6
#55 0x00007f2ea99bbc60 in clone3 () at /lib64/libc.so.6
Thread 1 (Thread 0x7f2ea95603c0 (LWP 1761284) "test-gst"):
#0 0x00007f2ea99ae3b6 in ppoll () at /lib64/libc.so.6
#1 0x00007f2ea9fde9d4 in gst_poll_wait (set=0x563910ae37b0, timeout=18446744073709551615) at ../subprojects/gstreamer/gst/gstpoll.c:1468
#2 0x00007f2ea9f756a0 in gst_bus_timed_pop_filtered (bus=0x563910ad1aa0, timeout=18446744073709551615, types=GST_MESSAGE_ANY) at ../subprojects/gstreamer/gst/gstbus.c:612
#3 0x00007f2ea9f7585c in gst_bus_timed_pop (bus=0x563910ad1aa0, timeout=18446744073709551615) at ../subprojects/gstreamer/gst/gstbus.c:651
#4 0x000056391046ac6e in gstreamer::auto::bus::Bus::timed_pop<core::option::Option<gstreamer::format::clock_time::ClockTime>> (self=0x7fff75b8ec10, timeout=...) at src/auto/bus.rs:111
#5 0x000056391046f719 in gstreamer::bus::{impl#1}::next (self=0x7fff75b8ec50) at src/bus.rs:327
#6 0x0000563910463e8d in test_gst::main () at src/main.rs:44
#7 0x00005639104633fb in core::ops::function::FnOnce::call_once<fn(), ()> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250
#8 0x000056391046772e in std::sys_common::backtrace::__rust_begin_short_backtrace<fn(), ()> (f=0x563910463830 <test_gst::main>) at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155
#9 0x00005639104649d1 in std::rt::lang_start::{closure#0}<()> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:166
#10 0x000056391049b491 in core::ops::function::impls::{impl#2}::call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/core/src/ops/function.rs:284
#11 std::panicking::try::do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panicking.rs:552
#12 std::panicking::try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/std/src/panicking.rs:516
#13 std::panic::catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panic.rs:142
#14 std::rt::lang_start_internal::{closure#2} () at library/std/src/rt.rs:148
#15 std::panicking::try::do_call<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panicking.rs:552
#16 std::panicking::try<isize, std::rt::lang_start_internal::{closure_env#2}> () at library/std/src/panicking.rs:516
#17 std::panic::catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panic.rs:142
#18 std::rt::lang_start_internal () at library/std/src/rt.rs:148
#19 0x00005639104649aa in std::rt::lang_start<()> (main=0x563910463830 <test_gst::main>, argc=3, argv=0x7fff75b8f208, sigpipe=0) at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:165
#20 0x00005639104645ae in main ()
#21 0x00007f2ea98d6550 in __libc_start_call_main () at /lib64/libc.so.6
#22 0x00007f2ea98d6609 in __libc_start_main_impl () at /lib64/libc.so.6
#23 0x0000563910461605 in _start ()
```
The flow is blocked in thread 2 because a probe (I think?).
cc @bilboedhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3323urisourcebin: deadlock between object and state lock2024-03-09T16:48:06ZGuillaume Desmottesurisourcebin: deadlock between object and state lock@bilboed : I found another deadlock while working on https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/268
It can be reproduced using the same tool as #3297 but may need a few runs before occurring.
```
Thread 12 (Thread...@bilboed : I found another deadlock while working on https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/268
It can be reproduced using the same tool as #3297 but may need a few runs before occurring.
```
Thread 12 (Thread 0x7f5b38c006c0 (LWP 1229305) "typefindelement"):
#0 0x00007f5b4a242fc0 in __lll_lock_wait () at /lib64/libc.so.6
#1 0x00007f5b4a2494da in pthread_mutex_lock@@GLIBC_2.2.5 () at /lib64/libc.so.6
#2 0x00007f5b49df21a6 in setup_parsebin_for_slot (info=0x7f5b4405a9e0, originating_pad=0x558ea01747f0) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:1953
#3 0x00007f5b49df2b88 in handle_new_pad (info=0x7f5b4405a9e0, srcpad=0x558ea01747f0, caps=0x7f5adc008240) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:2110
#4 0x00007f5b49df30d0 in type_found (typefind=0x558ea01799f0, probability=100, caps=0x7f5adc008240, info=0x7f5b4405a9e0) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:2193
#5 0x00007f5b4a1b6a06 in ffi_call_unix64 () at /lib64/libffi.so.8
#6 0x00007f5b4a1b349d in ffi_call_int.lto_priv () at /lib64/libffi.so.8
#7 0x00007f5b4a1b6083 in ffi_call () at /lib64/libffi.so.8
#8 0x00007f5b4a94c113 in g_cclosure_marshal_generic () at /lib64/libgobject-2.0.so.0
#9 0x00007f5b4a946060 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#10 0x00007f5b4a972f66 in signal_emit_unlocked_R.isra.0 () at /lib64/libgobject-2.0.so.0
#11 0x00007f5b4a9634da in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#12 0x00007f5b4a9636f3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#13 0x00007f5b499c66dd in gst_type_find_element_emit_have_type (typefind=0x558ea01799f0, probability=100, caps=0x7f5adc008240) at ../subprojects/gstreamer/plugins/elements/gsttypefindelement.c:239
#14 0x00007f5b499c9b9d in gst_type_find_element_loop (pad=0x558ea0174a40) at ../subprojects/gstreamer/plugins/elements/gsttypefindelement.c:1195
#15 0x00007f5b4a58c1ee in gst_task_func (task=0x558ea01e4050) at ../subprojects/gstreamer/gst/gsttask.c:399
#16 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5b4402c430, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#17 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#18 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#19 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#20 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 11 (Thread 0x7f5b396006c0 (LWP 1229304) "pool-test-gst"):
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c7420 in g_cond_wait_until () at /lib64/libglib-2.0.so.0
#2 0x00007f5b4a647451 in g_async_queue_pop_intern_unlocked () at /lib64/libglib-2.0.so.0
#3 0x00007f5b4a6475e5 in g_async_queue_timeout_pop () at /lib64/libglib-2.0.so.0
#4 0x00007f5b4a6a9f05 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#7 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 10 (Thread 0x7f5b3be006c0 (LWP 1229300) "queue1:src"):
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c6ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f5b499bf1fb in gst_queue_loop (pad=0x7f5b1c01caa0) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1572
#3 0x00007f5b4a58c1ee in gst_task_func (task=0x7f5b24012a70) at ../subprojects/gstreamer/gst/gsttask.c:399
#4 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5b14014a40, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#5 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#6 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#7 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#8 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 9 (Thread 0x7f5b40c006c0 (LWP 1229299) "queue0:src"):
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c6ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f5b499bf1fb in gst_queue_loop (pad=0x7f5b2c015630) at ../subprojects/gstreamer/plugins/elements/gstqueue.c:1572
#3 0x00007f5b4a58c1ee in gst_task_func (task=0x7f5b240124d0) at ../subprojects/gstreamer/gst/gsttask.c:399
#4 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5b1c012900, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#5 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#6 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#7 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#8 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 8 (Thread 0x7f5b416006c0 (LWP 1229298) "multiqueue0:src"):
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c6ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f5b49b81dca in _gst_data_queue_wait_non_empty (queue=0x7f5b2c007ec0) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007f5b49b821f8 in gst_data_queue_pop (queue=0x7f5b2c007ec0, item=0x7f5b415ffc08) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007f5b4999e3bc in gst_multi_queue_loop (pad=0x7f5b2c014cf0) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2190
#5 0x00007f5b4a58c1ee in gst_task_func (task=0x7f5b3c06acb0) at ../subprojects/gstreamer/gst/gsttask.c:399
#6 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5b2400e400, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#7 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#8 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#9 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#10 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 7 (Thread 0x7f5b420006c0 (LWP 1229297) "multiqueue0:src"):
--Type <RET> for more, q to quit, c to continue without paging--c
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c6ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f5b49b81dca in _gst_data_queue_wait_non_empty (queue=0x7f5b2c0078c0) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007f5b49b821f8 in gst_data_queue_pop (queue=0x7f5b2c0078c0, item=0x7f5b41fffc08) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007f5b4999e3bc in gst_multi_queue_loop (pad=0x7f5b2c0143b0) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2190
#5 0x00007f5b4a58c1ee in gst_task_func (task=0x7f5b3c06a710) at ../subprojects/gstreamer/gst/gsttask.c:399
#6 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5b2c0131d0, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#7 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#8 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#9 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#10 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 6 (Thread 0x7f5b42a006c0 (LWP 1229296) "typefind:sink"):
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c6ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f5b4a58c10e in gst_task_func (task=0x7f5b3c06a950) at ../subprojects/gstreamer/gst/gsttask.c:384
#3 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5b2c01e840, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#4 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#7 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 5 (Thread 0x7f5b434006c0 (LWP 1229295) "typefindelement"):
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c6ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f5b4a58c10e in gst_task_func (task=0x7f5afc00acb0) at ../subprojects/gstreamer/gst/gsttask.c:384
#3 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5aec016eb0, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#4 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#5 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#6 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#7 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 4 (Thread 0x7f5b43e006c0 (LWP 1229294) "multiqueue3:src"):
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c6e1c in g_mutex_lock_slowpath () at /lib64/libglib-2.0.so.0
#2 0x00007f5b49de8986 in uri_src_probe (pad=0x558ea01deef0, info=0x7f5b43dff4b0, srcpad=0x7f5b44031c10) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:1248
#3 0x00007f5b4a548970 in probe_hook_marshal (hook=0x7f5b44032e00, data=0x7f5b43dff440) at ../subprojects/gstreamer/gst/gstpad.c:3695
#4 0x00007f5b4a65da3e in g_hook_list_marshal () at /lib64/libglib-2.0.so.0
#5 0x00007f5b4a549084 in do_probe_callbacks (pad=0x558ea01deef0, info=0x7f5b43dff4b0, defaultval=GST_FLOW_OK) at ../subprojects/gstreamer/gst/gstpad.c:3879
#6 0x00007f5b4a550101 in gst_pad_push_event_unchecked (pad=0x558ea01deef0, event=0x7f5b44065b90, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5569
#7 0x00007f5b4a549a88 in push_sticky (pad=0x558ea01deef0, ev=0x7f5b43dff5e0, user_data=0x7f5b43dff640) at ../subprojects/gstreamer/gst/gstpad.c:4083
#8 0x00007f5b4a53efc4 in events_foreach (pad=0x558ea01deef0, func=0x7f5b4a549954 <push_sticky>, user_data=0x7f5b43dff640) at ../subprojects/gstreamer/gst/gstpad.c:613
#9 0x00007f5b4a549e57 in check_sticky (pad=0x558ea01deef0, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:4142
#10 0x00007f5b4a550ac3 in gst_pad_push_event (pad=0x558ea01deef0, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:5737
#11 0x00007f5b4a5472ad in event_forward_func (pad=0x558ea01deef0, data=0x7f5b43dff7e0) at ../subprojects/gstreamer/gst/gstpad.c:3156
#12 0x00007f5b4a5470a9 in gst_pad_forward (pad=0x7f5b2c020360, forward=0x7f5b4a547183 <event_forward_func>, user_data=0x7f5b43dff7e0) at ../subprojects/gstreamer/gst/gstpad.c:3110
#13 0x00007f5b4a547471 in gst_pad_event_default (pad=0x7f5b2c020360, parent=0x558ea01deef0, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:3207
#14 0x00007f5b4a551988 in gst_pad_send_event_unchecked (pad=0x7f5b2c020360, event=0x7f5b44065b90, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5971
#15 0x00007f5b4a5502ca in gst_pad_push_event_unchecked (pad=0x7f5b440602d0, event=0x7f5b44065b90, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5604
#16 0x00007f5b4a549a88 in push_sticky (pad=0x7f5b440602d0, ev=0x7f5b43dffa20, user_data=0x7f5b43dffa80) at ../subprojects/gstreamer/gst/gstpad.c:4083
#17 0x00007f5b4a53efc4 in events_foreach (pad=0x7f5b440602d0, func=0x7f5b4a549954 <push_sticky>, user_data=0x7f5b43dffa80) at ../subprojects/gstreamer/gst/gstpad.c:613
#18 0x00007f5b4a549e57 in check_sticky (pad=0x7f5b440602d0, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:4142
#19 0x00007f5b4a550ac3 in gst_pad_push_event (pad=0x7f5b440602d0, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:5737
#20 0x00007f5b4999df66 in gst_single_queue_push_one (mq=0x7f5aec02f540, sq=0x7f5b4405eb20, object=0x7f5b44065b90, allow_drop=0x7f5b43dffbfc) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2066
#21 0x00007f5b4999f83b in gst_multi_queue_loop (pad=0x7f5b440602d0) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2345
#22 0x00007f5b4a58c1ee in gst_task_func (task=0x558ea01e4950) at ../subprojects/gstreamer/gst/gsttask.c:399
#23 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5b440507c0, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#24 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#25 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#26 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#27 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 3 (Thread 0x7f5b48e006c0 (LWP 1229293) "multiqueue3:src"):
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c6ea3 in g_cond_wait () at /lib64/libglib-2.0.so.0
#2 0x00007f5b49b81dca in _gst_data_queue_wait_non_empty (queue=0x558ea00b5470) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:554
#3 0x00007f5b49b821f8 in gst_data_queue_pop (queue=0x558ea00b5470, item=0x7f5b48dffc08) at ../subprojects/gstreamer/libs/gst/base/gstdataqueue.c:596
#4 0x00007f5b4999e3bc in gst_multi_queue_loop (pad=0x7f5aec033ce0) at ../subprojects/gstreamer/plugins/elements/gstmultiqueue.c:2190
#5 0x00007f5b4a58c1ee in gst_task_func (task=0x558ea01e4830) at ../subprojects/gstreamer/gst/gsttask.c:399
#6 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5b4404fe20, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#7 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#8 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#9 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#10 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 2 (Thread 0x7f5b498006c0 (LWP 1229292) "matroskademux2:"):
#0 0x00007f5b4a2bf9cd in syscall () at /lib64/libc.so.6
#1 0x00007f5b4a6c6e1c in g_mutex_lock_slowpath () at /lib64/libglib-2.0.so.0
#2 0x00007f5b49df6488 in gst_uri_source_bin_change_state (element=0x558ea01755b0, transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:3097
#3 0x00007f5b4a51ad8f in gst_element_change_state (element=0x558ea01755b0, transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../subprojects/gstreamer/gst/gstelement.c:3101
#4 0x00007f5b4a51a2ab in gst_element_continue_state (element=0x558ea01755b0, ret=GST_STATE_CHANGE_SUCCESS) at ../subprojects/gstreamer/gst/gstelement.c:2809
#5 0x00007f5b4a51b0c8 in gst_element_change_state (element=0x558ea01755b0, transition=GST_STATE_CHANGE_NULL_TO_READY) at ../subprojects/gstreamer/gst/gstelement.c:3140
#6 0x00007f5b4a51ab14 in gst_element_set_state_func (element=0x558ea01755b0, state=GST_STATE_PLAYING) at ../subprojects/gstreamer/gst/gstelement.c:3055
#7 0x00007f5b4a51a6ff in gst_element_set_state (element=0x558ea01755b0, state=GST_STATE_PLAYING) at ../subprojects/gstreamer/gst/gstelement.c:2956
#8 0x00007f5b4a519577 in gst_element_sync_state_with_parent (element=0x558ea01755b0) at ../subprojects/gstreamer/gst/gstelement.c:2473
#9 0x00007f5b49de7610 in activate_source_item (item=0x7f5b44050430) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:964
#10 0x00007f5b49deb5e1 in assign_handlers_to_item (dec=0x558ea01740e0, item=0x7f5b4405b3f0) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:2014
#11 0x00007f5b49deb6ad in activate_play_item (item=0x7f5b4405b3f0) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:2033
#12 0x00007f5b49deb36c in gst_uri_decode_bin3_set_uri (dec=0x558ea01740e0, uri=0x7f5b440631c0 "file:///var/home/cassidy/dev/test-gst/sample.mkv") at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:1974
#13 0x00007f5b49dea14f in gst_uri_decode_bin3_set_property (object=0x558ea01740e0, prop_id=1, value=0x7f5b497fe678, pspec=0x558e9fd62b10) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:1588
#14 0x00007f5b4a95573d in object_set_property () at /lib64/libgobject-2.0.so.0
#15 0x00007f5b4a9585df in g_object_setv () at /lib64/libgobject-2.0.so.0
#16 0x00007f5b4a95877f in g_object_set_property () at /lib64/libgobject-2.0.so.0
#17 0x0000558e9e0f1128 in glib::object::{impl#32}::set_property<gstreamer::auto::element::Element, &alloc::string::String> (self=0x7f5b497fe708, property_name=..., value=0x558e9fff8240) at /var/home/cassidy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.19.2/src/object.rs:2239
#18 0x0000558e9e0f3f49 in test_gst::main::{closure#1} (args=...) at src/main.rs:60
#19 0x0000558e9e0eb7b8 in glib::object::{impl#32}::connect_unsafe_id::{closure#0}<gstreamer::auto::element::Element, test_gst::main::{closure_env#1}> (values=...) at /var/home/cassidy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.19.2/src/object.rs:2578
#20 0x0000558e9e0eda38 in glib::closure::{impl#4}::new_unsafe::marshal<glib::object::{impl#32}::connect_unsafe_id::{closure_env#0}<gstreamer::auto::element::Element, test_gst::main::{closure_env#1}>> (_closure=0x558ea01b30e0, return_value=0x0, n_param_values=1, param_values=0x7f5b497fedf0, _invocation_hint=0x7f5b497fed70, marshal_data=0x558e9fff8240) at /var/home/cassidy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.19.2/src/closure.rs:230
#21 0x00007f5b4a946060 in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#22 0x00007f5b4a972f66 in signal_emit_unlocked_R.isra.0 () at /lib64/libgobject-2.0.so.0
#23 0x00007f5b4a9634da in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#24 0x00007f5b4a9636f3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#25 0x00007f5b49de70e7 in emit_and_handle_about_to_finish (uridecodebin=0x558ea01740e0, item=0x7f5aec026380) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:869
#26 0x00007f5b49de9d57 in src_about_to_finish_cb (element=0x7f5aec032350, handler=0x7f5aec03a6c0) at ../subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c:1508
#27 0x00007f5b4a963614 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#28 0x00007f5b4a9636f3 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#29 0x00007f5b49dee2ec in demux_pad_events (pad=0x7f5af400ba90, info=0x7f5b497ff520, slot=0x7f5b440363d0) at ../subprojects/gst-plugins-base/gst/playback/gsturisourcebin.c:895
#30 0x00007f5b4a548970 in probe_hook_marshal (hook=0x7f5b44032d00, data=0x7f5b497ff4b0) at ../subprojects/gstreamer/gst/gstpad.c:3695
#31 0x00007f5b4a65da3e in g_hook_list_marshal () at /lib64/libglib-2.0.so.0
#32 0x00007f5b4a549084 in do_probe_callbacks (pad=0x7f5af400ba90, info=0x7f5b497ff520, defaultval=GST_FLOW_OK) at ../subprojects/gstreamer/gst/gstpad.c:3879
#33 0x00007f5b4a550101 in gst_pad_push_event_unchecked (pad=0x7f5af400ba90, event=0x7f5b44065b90, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5569
#34 0x00007f5b4a549a88 in push_sticky (pad=0x7f5af400ba90, ev=0x7f5b497ff650, user_data=0x7f5b497ff6b0) at ../subprojects/gstreamer/gst/gstpad.c:4083
#35 0x00007f5b4a53efc4 in events_foreach (pad=0x7f5af400ba90, func=0x7f5b4a549954 <push_sticky>, user_data=0x7f5b497ff6b0) at ../subprojects/gstreamer/gst/gstpad.c:613
#36 0x00007f5b4a549e57 in check_sticky (pad=0x7f5af400ba90, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:4142
#37 0x00007f5b4a550ac3 in gst_pad_push_event (pad=0x7f5af400ba90, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:5737
#38 0x00007f5b4a5472ad in event_forward_func (pad=0x7f5af400ba90, data=0x7f5b497ff850) at ../subprojects/gstreamer/gst/gstpad.c:3156
#39 0x00007f5b4a5470a9 in gst_pad_forward (pad=0x558ea01e0ec0, forward=0x7f5b4a547183 <event_forward_func>, user_data=0x7f5b497ff850) at ../subprojects/gstreamer/gst/gstpad.c:3110
#40 0x00007f5b4a547471 in gst_pad_event_default (pad=0x558ea01e0ec0, parent=0x7f5af400ba90, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:3207
#41 0x00007f5b4a551988 in gst_pad_send_event_unchecked (pad=0x558ea01e0ec0, event=0x7f5b44065b90, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5971
#42 0x00007f5b4a5502ca in gst_pad_push_event_unchecked (pad=0x558ea0175a70, event=0x7f5b44065b90, type=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../subprojects/gstreamer/gst/gstpad.c:5604
#43 0x00007f5b4a549a88 in push_sticky (pad=0x558ea0175a70, ev=0x7f5b497ffa90, user_data=0x7f5b497ffaf0) at ../subprojects/gstreamer/gst/gstpad.c:4083
#44 0x00007f5b4a53efc4 in events_foreach (pad=0x558ea0175a70, func=0x7f5b4a549954 <push_sticky>, user_data=0x7f5b497ffaf0) at ../subprojects/gstreamer/gst/gstpad.c:613
#45 0x00007f5b4a549e57 in check_sticky (pad=0x558ea0175a70, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:4142
#46 0x00007f5b4a550ac3 in gst_pad_push_event (pad=0x558ea0175a70, event=0x7f5b44065b90) at ../subprojects/gstreamer/gst/gstpad.c:5737
#47 0x00007f5b498ebd0c in gst_matroska_demux_send_event (demux=0x7f5b24020030, event=0x7f5b44065b90) at ../subprojects/gst-plugins-good/gst/matroska/matroska-demux.c:1972
#48 0x00007f5b498fd545 in gst_matroska_demux_loop (pad=0x7f5aec033150) at ../subprojects/gst-plugins-good/gst/matroska/matroska-demux.c:6126
#49 0x00007f5b4a58c1ee in gst_task_func (task=0x7f5b3c06aef0) at ../subprojects/gstreamer/gst/gsttask.c:399
#50 0x00007f5b4a58d5f9 in default_func (tdata=0x7f5b24016200, pool=0x558ea00ac020) at ../subprojects/gstreamer/gst/gsttaskpool.c:70
#51 0x00007f5b4a6aa052 in g_thread_pool_thread_proxy.lto_priv () at /lib64/libglib-2.0.so.0
#52 0x00007f5b4a6a6f22 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#53 0x00007f5b4a24619d in start_thread () at /lib64/libc.so.6
#54 0x00007f5b4a2c7c60 in clone3 () at /lib64/libc.so.6
Thread 1 (Thread 0x7f5b49e6c3c0 (LWP 1229289) "test-gst"):
#0 0x00007f5b4a2ba3b6 in ppoll () at /lib64/libc.so.6
#1 0x00007f5b4a5619d4 in gst_poll_wait (set=0x558e9fd58970, timeout=18446744073709551615) at ../subprojects/gstreamer/gst/gstpoll.c:1468
#2 0x00007f5b4a4f86a0 in gst_bus_timed_pop_filtered (bus=0x558e9fff0290, timeout=18446744073709551615, types=GST_MESSAGE_ANY) at ../subprojects/gstreamer/gst/gstbus.c:612
#3 0x00007f5b4a4f885c in gst_bus_timed_pop (bus=0x558e9fff0290, timeout=18446744073709551615) at ../subprojects/gstreamer/gst/gstbus.c:651
#4 0x0000558e9e1078c4 in gstreamer::auto::bus::Bus::timed_pop<core::option::Option<gstreamer::format::clock_time::ClockTime>> (self=0x7ffdb7583fc8, timeout=...) at src/auto/bus.rs:120
#5 0x0000558e9e107989 in gstreamer::bus::{impl#1}::next (self=0x7ffdb7584008) at src/bus.rs:333
#6 0x0000558e9e0f6f17 in test_gst::main () at src/main.rs:71
#7 0x0000558e9e0ef72b in core::ops::function::FnOnce::call_once<fn() -> core::result::Result<(), anyhow::Error>, ()> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250
#8 0x0000558e9e0eccfe in std::sys_common::backtrace::__rust_begin_short_backtrace<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>> (f=0x558e9e0f6620 <test_gst::main>) at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:155
#9 0x0000558e9e0f8551 in std::rt::lang_start::{closure#0}<core::result::Result<(), anyhow::Error>> () at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:166
#10 0x0000558e9e1435f1 in core::ops::function::impls::{impl#2}::call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/core/src/ops/function.rs:284
#11 std::panicking::try::do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panicking.rs:552
#12 std::panicking::try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/std/src/panicking.rs:516
#13 std::panic::catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panic.rs:142
#14 std::rt::lang_start_internal::{closure#2} () at library/std/src/rt.rs:148
#15 std::panicking::try::do_call<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panicking.rs:552
#16 std::panicking::try<isize, std::rt::lang_start_internal::{closure_env#2}> () at library/std/src/panicking.rs:516
#17 std::panic::catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panic.rs:142
#18 std::rt::lang_start_internal () at library/std/src/rt.rs:148
#19 0x0000558e9e0f852a in std::rt::lang_start<core::result::Result<(), anyhow::Error>> (main=0x558e9e0f6620 <test_gst::main>, argc=2, argv=0x7ffdb7584608, sigpipe=0) at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:165
#20 0x0000558e9e0f772e in main ()
#21 0x00007f5b4a1e2550 in __libc_start_call_main () at /lib64/libc.so.6
#22 0x00007f5b4a1e2609 in __libc_start_main_impl () at /lib64/libc.so.6
#23 0x0000558e9e0e9d55 in _start ()
```
Thread 12:
- holding object lock
- waiting on state lock
Thread 2:
- holding state lock
- waiting object lock
I did check using logs that both are using the same `urisourcebin` instance as the pointer is missing from thread 12.
A simple easy fix would be to get the state lock before the object lock in `setup_parsebin_for_slot()`.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3322cuda: gir failure2024-02-20T08:07:56ZEdward Herveycuda: gir failure```
[105/129] Generating subprojects/gst-plugins-bad/gst-libs/gst/cuda/GstCuda-1.0.gir with a custom command (wrapped by meson to set env)
../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.cpp:1243: Warning: GstCuda: gst_cud...```
[105/129] Generating subprojects/gst-plugins-bad/gst-libs/gst/cuda/GstCuda-1.0.gir with a custom command (wrapped by meson to set env)
../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.cpp:1243: Warning: GstCuda: gst_cuda_allocator_virtual_alloc: argument prop: Unresolved type: 'CUmemAllocationProp*'
../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.cpp:1243: Warning: GstCuda: gst_cuda_allocator_virtual_alloc: argument granularity_flags: Unresolved type: 'CUmemAllocationGranularity_flags'
../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.cpp:1834: Warning: GstCuda: gst_cuda_pool_allocator_new_for_virtual_memory: argument prop: Unresolved type: 'CUmemAllocationProp*'
../subprojects/gst-plugins-bad/gst-libs/gst/cuda/gstcudamemory.cpp:1834: Warning: GstCuda: gst_cuda_pool_allocator_new_for_virtual_memory: argument granularity_flags: Unresolved type: 'CUmemAllocationGranularity_flags'
```
I'm not sure why this is failing, the types are present in the cuda stub
cc @seungha.yanghttps://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues/67Facing Issue in Negotiation of Caps when creating Custom Plugin format conver...2024-02-20T07:49:02ZMurari GFacing Issue in Negotiation of Caps when creating Custom Plugin format convert Which convert GRAY8 data to NV12 data![Screenshot_from_2024-02-20_11-02-40](/uploads/4a74b9fc423b06b5c562d2feeccb30c2/Screenshot_from_2024-02-20_11-02-40.png)![Screenshot_from_2024-02-20_11-02-40](/uploads/4a74b9fc423b06b5c562d2feeccb30c2/Screenshot_from_2024-02-20_11-02-40.png)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3321asiosink: No available input channels2024-03-08T21:04:05ZJonas Kvingeasiosink: No available input channels### Describe your issue
I'm not getting asiosink to work with any of the ASIO drivers provided by the DAC manufacturer, only asio4all.
I've tested with 3 different DACs which all uses different drivers supporting ASIO. McIntosh DA2, McIn...### Describe your issue
I'm not getting asiosink to work with any of the ASIO drivers provided by the DAC manufacturer, only asio4all.
I've tested with 3 different DACs which all uses different drivers supporting ASIO. McIntosh DA2, McIntosh D100 and Marantz HD-DAC1.
The same error is shown for all of them when running in GST_DEBUG=4: No available input channels.
Shouldn't the sink only use output channels, not input channels?
#### Expected Behavior
Play music.
#### Observed Behavior
No available input channels.
See attached log.
#### Setup
- **Operating System:** Windows 10
- **Device:** Computer
- **GStreamer Version:** Latest code from git main
- **Command line:**
### Steps to reproduce the bug
<!-- please fill in exact steps which reproduce the bug on your system, for example: -->
1. open terminal
2. type `command`
### How reproducible is the bug?
Every time.
### 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 -->