webrtcsink: property 'extensions' of type 'GstRtpVP8Pay' not found
Describe your issue
When running the livekitwebrtcsink 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 (closed), 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: 8f3a6171 (latest commit as of now)
- GStreamer Version: 1.22.9
- Command line:
How to reproduce
Use the same command as the example:
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
Edited by Kévin Commaille