GStreamer issueshttps://gitlab.freedesktop.org/groups/gstreamer/-/issues2024-02-27T21:35:06Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3339wasapisink: Low distorted audio in exclusive mode2024-02-27T21:35:06ZJonas Kvingewasapisink: Low distorted audio in exclusive mode### Describe your issue
Low distorted audio in exclusive mode.
This is on a Mcintosh DA2 DAC. The display shows it's playing the file without resampling in 44.4KHz 16 bit.
#### Expected Behavior
Play audio.
#### Observed Behavior
Atta...### Describe your issue
Low distorted audio in exclusive mode.
This is on a Mcintosh DA2 DAC. The display shows it's playing the file without resampling in 44.4KHz 16 bit.
#### Expected Behavior
Play audio.
#### Observed Behavior
Attaching debug log.
#### Setup
- **Operating System:** Windows 10
- **Device:** Computer
- **GStreamer Version:** 1.23.90 (d474de8ff0d188fb5b0374f6fa2ad21df05ee5e3)
- **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`
SET GST_DEBUG=4,wasapi*:6
`gst-launch-1.0 filesrc location=c:/Users/jonas/Music/Snowy_White/Highway_To_The_Sun/05_-_Snowy_White_-_Highway_To_The_Sun_-_The_Time_Has_Come.flac ! decodebin ! audioconvert ! wasapisink device="\{0.0.0.00000000\}.\{6ae58894-0112-49fa-a790-6d7e9d27da23\}" exclusive=1`
### How reproducible is the bug?
Every time.
### Screenshots if relevant
### Solutions you have tried
### Related non-duplicate issues
### Additional Informationhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3336aja failure2024-02-25T07:36:25ZSolarAquarionaja failureCan't find the pkg-config and the source repository changed for libajantv2Can't find the pkg-config and the source repository changed for libajantv2https://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/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/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/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/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/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/gstreamer/-/issues/3320Proposal: Merge core/base/good/bad/ugly into a single tarball2024-02-22T14:28:44ZXavier Claessensxclaesse@gmail.comProposal: Merge core/base/good/bad/ugly into a single tarballThis issue is about discussing what are the requirements for our release tarball split.
Advantages:
- Source tree simplicity. We could move all libs and plugins into a single tree at the root of the monorepo.
- Reduce Meson copy/pasted ...This issue is about discussing what are the requirements for our release tarball split.
Advantages:
- Source tree simplicity. We could move all libs and plugins into a single tree at the root of the monorepo.
- Reduce Meson copy/pasted code. Tones of boilerplate is repeated in each of our subprojects, like warning flags, etc.
- Easier to build a single source package than repeating the packaging for each module. This is not only about distro, but also about any project that makes their own build.
- Current split is not what people could think it is: "-bad" contains "ugly" things, "-good" contains GPL things, "-base" is soon to contain unstable things (https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2386).
- Makes easier to have internal APIs that are not part of installed headers. Currently if in -good you want to use an API on e.g. GstBuffer you must make it public and guarantee stability. With an unified tree you could make uninstalled static libs and use it in any in-tree element/lib. That makes easier to share helpers and base classes.
- Allow building gst-full from release tarball instead of forcing usage of git repo.
- Solves the `gstreamer` subproject name conflict. A project that wants the `gstreamer` monorepo as subproject cannot name it `gstreamer.wrap` because that's the same name as core subproject. Moving `subprojects/gstreamer` to the root solves that issue. See also why I suggest releasing `gstreamer-full-1.24.0.tar.xz` below, there is a conflict whether "gstreamer" means monorepo or core.
- Makes easier to backport patches from git monorepo onto release tarballs. They currently would not apply because they don't have the same source tree.
- Avoid downstream using untested versions mix. Our CI always runs with all modules at the exact same version. While it should in theory work, especially for minor versions, it increases the number of configurations that we need to support and thus possible causes of problems.
- Reduces the number of uploads downstream needs to monitor.
- Stop old joke about good/bad/ugly that is not relevant anymore. See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6130.
Known concerns:
- ~~Some open source distro (fedora?) cannot ship "ugly" part, even in their source package.~~ At least Fedora and Ubuntu both ship -ugly, with the weird exception of `dvdspu` that Fedora removes from source tarball with a [script](https://src.fedoraproject.org/rpms/gstreamer1-plugins-bad-free/blob/rawhide/f/gst-p-bad-cleanup.sh) that would still work in a mono tarball.
- We should keep separated what is unstable/staging. Do we? As pointed by @tpm that's rather a job for doc and header guards. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6130#note_2285645.
- More likely to block a minor update downstream, for example a regression in -bad would hold update of -good.
- Circular dependencies forces us to keep at least some plugins separated (https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3320#note_2290825).
- Changing the packaging requires lots of [paperwork](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3320#note_2291028) for Ubuntu.
Open question:
- Also merge rtsp server, gst-python, etc? Maybe not for now?
- Keep -ugly separated, but also move "ugly" part of -bad there. Some downstream already have to repackage -bad to remove "ugly" part, so merging everything in a single tarball wouldn't be worse than it already is. Making a real separation based on license could be an improvement however (to be confirmed by open source distro packagers).
Proposal for 1.24:
- Release `gstreamer-full-1.24.0.tar.xz` alongside splitted tarballs. That requires no change in our repository but would already allow downstream to prepare for a single source tarball that they can split, or not, into different binary packages. That would already be enough to make base/good/bad/ugly internal naming rather than imposing it to downstream.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3319RTSPS client uses default crypto parameters for generated SRTCP packets2024-02-19T11:37:52ZDaniel FRTSPS client uses default crypto parameters for generated SRTCP packets### Describe your issue
RTSPS client uses default crypto parameters for generated SRTCP packets.
SRTP Decoder uses parameters sent by RTSP server in MIKEY message:
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: caps = ap...### Describe your issue
RTSPS client uses default crypto parameters for generated SRTCP packets.
SRTP Decoder uses parameters sent by RTSP server in MIKEY message:
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: caps = application/x-srtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, srtp-key=(buffer)75ad989e7fc8e2795168c1b5721c69cdc79684ba259e9dab930e13344c9f, srtp-cipher=(string)aes-128-icm, srtp-auth=(string)hmac-sha1-32, srtcp-cipher=(string)aes-128-icm, srtcp-auth=(string)hmac-sha1-32
SRTP Encoder uses default ones:
0:00:06.788757717 1496360 0x7f32bc007aa0 DEBUG srtpenc gstsrtpenc.c:913:gst_srtp_enc_sink_setcaps:<srtpenc_0:rtcp_sink_0> Source caps: application/x-srtcp, srtp-key=(buffer)ff4e6022d50b455405ecc2a0f2ac4edd0e44fd9fe3a92bf751c6afe18e7a, srtp-cipher=(string)aes-128-icm, srtp-auth=(string)hmac-sha1-80, srtcp-cipher=(string)aes-128-icm, srtcp-auth=(string)hmac-sha1-80
#### Setup
* **Operating System:** Ubuntu 22.04.3
* **Device:** Computer
* **GStreamer Version:** 1.20.3
* **Command line:** gst-launch-1.0 -v rtspsrc tls-validation-flags=0 'location=rtsps://localhost/something' ! decodebin ! autovideosinkhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3318GStreamer incorrectly reads auth tag len from MIKEY message2024-02-19T11:29:21ZDaniel FGStreamer incorrectly reads auth tag len from MIKEY message### Describe your issue
GStreamer reads auth tag len from GST_MIKEY_SP_SRTP_AUTH_KEY_LEN SP parameter instead of GST_MIKEY_SP_SRTP_AUTH_TAG_LEN. First one specifies auth key length which is 20 for SHA-1. Second one specifies auth tag le...### Describe your issue
GStreamer reads auth tag len from GST_MIKEY_SP_SRTP_AUTH_KEY_LEN SP parameter instead of GST_MIKEY_SP_SRTP_AUTH_TAG_LEN. First one specifies auth key length which is 20 for SHA-1. Second one specifies auth tag len used for SRTP packets. This may not be clearly specified in RFC 3711, but it is in RFC 6188.
#### Setup
* **Operating System:** Ubuntu 22.04.3
* **Device:** Computer
* **GStreamer Version:** 1.20.3
* **Command line:** gst-launch-1.0 -v rtspsrc tls-validation-flags=0 'location=rtsps://localhost/something' ! decodebin ! autovideosinkhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3315Allow ignoring certificate validation issues in playbin2024-02-17T14:40:30ZDaniel FAllow ignoring certificate validation issues in playbinI use self-signed TLS certificates for testing things on my PC. Currently playbin does not allow to play media from servers with such certificate because of certificate validation failure. I need to manually build pipeline to pass tls-va...I use self-signed TLS certificates for testing things on my PC. Currently playbin does not allow to play media from servers with such certificate because of certificate validation failure. I need to manually build pipeline to pass tls-validation-flags or ssl-strict attribute to source element. Please add such attribute to playbin, this would simplify things a lot.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3313Add cast to network display functionality2024-02-17T09:24:02ZDark DragonAdd cast to network display functionalityIt would be great if applications using GStreamer could easily cast a video stream to a network display. It could be as easy as extracting this functionality from https://gitlab.gnome.org/GNOME/gnome-network-displays/-/issues/275.It would be great if applications using GStreamer could easily cast a video stream to a network display. It could be as easy as extracting this functionality from https://gitlab.gnome.org/GNOME/gnome-network-displays/-/issues/275.https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/508ci: Make use of gitlab-clippy for clippy job2024-03-27T11:07:32ZSebastian Drögeci: Make use of gitlab-clippy for clippy jobhttps://crates.io/crates/gitlab_clippy
Same thing for gst-plugins-rs.
CC @alatierahttps://crates.io/crates/gitlab_clippy
Same thing for gst-plugins-rs.
CC @alatierahttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3312gst-plugins-good-1.22.9: elements_rtpred test fails with musl libc on armv7.2024-03-28T17:16:16ZNatanael Copagst-plugins-good-1.22.9: elements_rtpred test fails with musl libc on armv7.This blocks the 1.22.9 security update for alpine linux.
```
80/109 elements_rtpred FAIL 1.29s exit status 1
>>> GST_PLUGIN_SCANNER_1_0=/usr/libexec/gstreamer-1.0/gst-plugin-scanner ASAN_OPTIONS=halt_on...This blocks the 1.22.9 security update for alpine linux.
```
80/109 elements_rtpred FAIL 1.29s exit status 1
>>> GST_PLUGIN_SCANNER_1_0=/usr/libexec/gstreamer-1.0/gst-plugin-scanner ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 CK_DEFAULT_TIMEOUT=20 GST_PLUGIN_PATH_1_0=/builds/alpine/aports/community/gst-plugins-good/src/gst-plugins-good-1.22.9/output:/usr/lib/gstreamer-1.0:/usr/lib/gstreamer-1.0 GST_STATE_IGNORE_ELEMENTS='aasink autoaudiosrc autoaudiosink autovideosrc
autovideosink cacasink cairotextoverlay gtkglsink gtksink jackaudiosrc
jackaudiosink osssrc osssink osxaudiosink osxaudiosrc osxvideosrc osxvideosink
pulsesink pulsesrc pulsemixer v4l2src' GST_PLUGIN_SYSTEM_PATH_1_0='' MALLOC_PERTURB_=225 GST_REGISTRY=/builds/alpine/aports/community/gst-plugins-good/src/gst-plugins-good-1.22.9/output/tests/check/elements_rtpred.registry UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 GSETTINGS_BACKEND=memory GST_PLUGIN_LOADING_WHITELIST=gstreamer:gst-plugins-base:timecode:gst-plugins-good@/builds/alpine/aports/community/gst-plugins-good/src/gst-plugins-good-1.22.9/output /builds/alpine/aports/community/gst-plugins-good/src/gst-plugins-good-1.22.9/output/tests/check/elements_rtpred
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
Running suite(s): rtpred
93%: Checks: 16, Failures: 0, Errors: 1
../tests/check/elements/rtpred.c:400:E:decoder:rtpreddec_invalid:0: (after this point) Received signal 4 (Illegal instruction)
Check suite rtpred ran in 0.248s (tests failed: 1)
――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
81/109 pipelines_flacdec OK 0.96s
82/109 elements_splitmuxsink OK 4.36s
83/109 elements_id3v2mux OK 0.64s
84/109 elements_gdkpixbufsink OK 0.93s
85/109 elements_rtpfunnel OK 2.45s
86/109 elements_dash_mpd OK 1.32s
87/109 pipelines_effectv OK 3.97s
88/109 elements_apev2mux OK 1.09s
89/109 elements_rtprtx OK 2.49s
90/109 elements_rtpsession OK 3.00s
91/109 elements_rtpssrcdemux OK 2.50s
92/109 elements_videomixer OK 5.60s
93/109 elements_rtpstorage OK 3.64s
94/109 elements_rtpbin OK 5.21s
95/109 elements_mpg123audiodec OK 3.84s
96/109 elements_wavpackenc OK 4.39s
97/109 pipelines_lame OK 4.51s
98/109 pipelines_wavpack OK 4.44s
99/109 elements_vp8dec OK 4.60s
100/109 elements_vp8enc OK 4.75s
101/109 elements_vp9enc OK 4.65s
102/109 elements_wavpackdec OK 4.67s
103/109 elements_interleave OK 10.48s
104/109 elements_souphttpsrc3 OK 6.56s
105/109 pipelines_simple_launch_lines OK 10.62s
106/109 elements_qtmux OK 13.08s
107/109 elements_videocrop OK 13.24s
108/109 elements_rtpjitterbuffer OK 21.21s
109/109 elements_shapewipe OK 26.18s
Summary of Failures:
80/109 elements_rtpred FAIL 1.29s exit status 1
Ok: 108
Expected Fail: 0
Fail: 1
Unexpected Pass: 0
Skipped: 0
Timeout: 0
Full log written to /builds/alpine/aports/community/gst-plugins-good/src/gst-plugins-good-1.22.9/output/meson-logs/testlog.txt
```
Downstream MR:
https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/60221https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3311rtsp: Seeking in VOD streams broken2024-02-17T12:36:51ZSebastian Drögertsp: Seeking in VOD streams brokenThis happens with 1.22.9 and git main.
If you run an RTSP server via `test-launch "( filesrc location=test.mkv ! matroskademux ! queue ! rtpopuspay name=pay0 )"` or `test-uri`, then use `gst-play-1.0` to seek on it, after a few seeks th...This happens with 1.22.9 and git main.
If you run an RTSP server via `test-launch "( filesrc location=test.mkv ! matroskademux ! queue ! rtpopuspay name=pay0 )"` or `test-uri`, then use `gst-play-1.0` to seek on it, after a few seeks the audio will simply stop playing (but position reporting advances).
This worked at some point, not sure when / how it was broken.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3308ci: Investigate leak testing v4l2codecs within QEMU setup we have2024-02-26T16:56:50ZNicolas Dufresneci: Investigate leak testing v4l2codecs within QEMU setup we haveWe need to check if qemu/valgrind can cooperate, but in the light of !6127 I think we could catch in CI most leaks by running the fluster over visl driver tests inside valgrind.
cc @detlev.c @rmaderWe need to check if qemu/valgrind can cooperate, but in the light of !6127 I think we could catch in CI most leaks by running the fluster over visl driver tests inside valgrind.
cc @detlev.c @rmader