[gtksink-gl-bits] Problem with the experimental GL implementation for GTK4
Opening this issue as requested here, concerning this merge request.
My test.py
is attached here: test.py - Note that I hard-coded the video file location as /home/daniel/video.mp4
.
Here's the output:
[daniel@fedoraPC ~]$ python3 test.py
thread '<unnamed>' panicked at 'Calling realize without surface set', video/gtk4/src/sink/imp.rs:472:18
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)
And with more info:
[daniel@fedoraPC ~]$ RUST_BACKTRACE=1 python3 test.py
thread '<unnamed>' panicked at 'Calling realize without surface set', video/gtk4/src/sink/imp.rs:472:18
stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::panicking::panic_display
3: core::panicking::panic_str
4: core::option::expect_failed
5: core::option::Option<T>::expect
at /builddir/build/BUILD/rustc-1.60.0-src/library/core/src/option.rs:715:21
6: gstgtk4::sink::imp::PaintableSink::realize_context::{{closure}}
at ./gst-plugin-rs/video/gtk4/src/sink/imp.rs:470:27
7: core::ops::function::FnOnce::call_once
at /builddir/build/BUILD/rustc-1.60.0-src/library/core/src/ops/function.rs:227:5
8: gstgtk4::utils::invoke_on_main_thread::{{closure}}
at ./gst-plugin-rs/video/gtk4/src/utils.rs:13:19
9: glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_unsafe::trampoline
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:126:13
10: g_main_context_invoke_full
11: glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_unsafe
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:133:9
12: glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_with_priority
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:64:13
13: glib::main_context::<impl glib::auto::main_context::MainContext>::invoke
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:48:9
14: gstgtk4::utils::invoke_on_main_thread
at ./gst-plugin-rs/video/gtk4/src/utils.rs:12:5
15: gstgtk4::sink::PaintableSink::create_paintable
at ./gst-plugin-rs/video/gtk4/src/sink/mod.rs:76:19
16: <gstgtk4::sink::imp::PaintableSink as glib::subclass::object::ObjectImpl>::property
at ./gst-plugin-rs/video/gtk4/src/sink/imp.rs:106:21
17: glib::subclass::object::property
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/subclass/object.rs:80:13
18: g_object_get_property
19: <unknown>
20: PyObject_GetAttr
21: _PyEval_EvalFrameDefault
22: <unknown>
23: <unknown>
24: g_closure_invoke
25: <unknown>
26: g_signal_emit_valist
27: g_signal_emit
28: <unknown>
29: g_application_run
30: ffi_call_unix64
31: ffi_call
32: <unknown>
33: <unknown>
34: _PyObject_Call
35: _PyEval_EvalFrameDefault
36: <unknown>
37: _PyEval_EvalFrameDefault
38: <unknown>
39: PyEval_EvalCode
40: <unknown>
41: <unknown>
42: <unknown>
43: _PyRun_SimpleFileObject
44: _PyRun_AnyFileObject
45: Py_RunMain
46: Py_BytesMain
47: __libc_start_call_main
48: __libc_start_main_impl
49: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)
Finally with full backtrace:
[daniel@fedoraPC ~]$ RUST_BACKTRACE=full python3 test.py
thread '<unnamed>' panicked at 'Calling realize without surface set', video/gtk4/src/sink/imp.rs:472:18
stack backtrace:
0: 0x7f026007258c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h572300f0ebfde2a7
1: 0x7f026008cd8c - core::fmt::write::h9a40954895def713
2: 0x7f0260070411 - std::io::Write::write_fmt::h589135a83419f2d6
3: 0x7f0260073b05 - std::panicking::default_hook::{{closure}}::h619386df4f38a529
4: 0x7f02600737c4 - std::panicking::default_hook::ha87f40e82c315143
5: 0x7f0260074238 - std::panicking::rust_panic_with_hook::h220e25558f92196d
6: 0x7f0260073f47 - std::panicking::begin_panic_handler::{{closure}}::hffd3696cd0a1a22a
7: 0x7f0260072a24 - std::sys_common::backtrace::__rust_end_short_backtrace::hbec50169ea271f2f
8: 0x7f0260073c69 - rust_begin_unwind
9: 0x7f0260025113 - core::panicking::panic_fmt::h5f7f26e7daf91179
10: 0x7f026008be81 - core::panicking::panic_display::hebdf3323cf544adf
11: 0x7f026008be2b - core::panicking::panic_str::he95875ad20123cf6
12: 0x7f0260024f86 - core::option::expect_failed::hb268047d949e0471
13: 0x7f026002bb19 - core::option::Option<T>::expect::h263de80e31e0ea82
at /builddir/build/BUILD/rustc-1.60.0-src/library/core/src/option.rs:715:21
14: 0x7f026002bb19 - gstgtk4::sink::imp::PaintableSink::realize_context::{{closure}}::h31c73d1cbcf49fde
at /home/daniel/gst-plugin-rs/video/gtk4/src/sink/imp.rs:470:27
15: 0x7f026002bb19 - core::ops::function::FnOnce::call_once::h1f90c3eda1ff9a85
at /builddir/build/BUILD/rustc-1.60.0-src/library/core/src/ops/function.rs:227:5
16: 0x7f026002bb19 - gstgtk4::utils::invoke_on_main_thread::{{closure}}::h8dada273288baf0f
at /home/daniel/gst-plugin-rs/video/gtk4/src/utils.rs:13:19
17: 0x7f026002bb19 - glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_unsafe::trampoline::had6609d2dca786fa
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:126:13
18: 0x7f0266ff1935 - g_main_context_invoke_full
19: 0x7f026002fed4 - glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_unsafe::h7890580065f30f4b
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:133:9
20: 0x7f026002fed4 - glib::main_context::<impl glib::auto::main_context::MainContext>::invoke_with_priority::hb8fea6a681f9f68e
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:64:13
21: 0x7f026002fed4 - glib::main_context::<impl glib::auto::main_context::MainContext>::invoke::hb57e828e47c79c7c
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/main_context.rs:48:9
22: 0x7f026002fed4 - gstgtk4::utils::invoke_on_main_thread::hfb2bfcf591527ce2
at /home/daniel/gst-plugin-rs/video/gtk4/src/utils.rs:12:5
23: 0x7f026004945e - gstgtk4::sink::PaintableSink::create_paintable::ha5c83e6ffbce3494
at /home/daniel/gst-plugin-rs/video/gtk4/src/sink/mod.rs:76:19
24: 0x7f026004ff7b - <gstgtk4::sink::imp::PaintableSink as glib::subclass::object::ObjectImpl>::property::h70abb69374c25e82
at /home/daniel/gst-plugin-rs/video/gtk4/src/sink/imp.rs:106:21
25: 0x7f026002ddad - glib::subclass::object::property::hd0415db3f60c023d
at /root/.cargo/git/checkouts/gtk-rs-core-7be42ca38bd6361c/2263671/glib/src/subclass/object.rs:80:13
26: 0x7f0266f42831 - g_object_get_property
27: 0x7f026711c832 - <unknown>
28: 0x7f02678c177a - PyObject_GetAttr
29: 0x7f02678ba787 - _PyEval_EvalFrameDefault
30: 0x7f02678b4600 - <unknown>
31: 0x7f026711b94a - <unknown>
32: 0x7f0266f30c7f - g_closure_invoke
33: 0x7f0266f4d126 - <unknown>
34: 0x7f0266f4e9ea - g_signal_emit_valist
35: 0x7f0266f4ec03 - g_signal_emit
36: 0x7f0266da3188 - <unknown>
37: 0x7f0266da3366 - g_application_run
38: 0x7f0267affc04 - ffi_call_unix64
39: 0x7f0267aff108 - ffi_call
40: 0x7f0267118e1b - <unknown>
41: 0x7f02671178d6 - <unknown>
42: 0x7f02678cad98 - _PyObject_Call
43: 0x7f02678b8715 - _PyEval_EvalFrameDefault
44: 0x7f02678b4600 - <unknown>
45: 0x7f02678b5ba3 - _PyEval_EvalFrameDefault
46: 0x7f02678b4600 - <unknown>
47: 0x7f02679304e4 - PyEval_EvalCode
48: 0x7f0267962a24 - <unknown>
49: 0x7f026795dba6 - <unknown>
50: 0x7f026782fa96 - <unknown>
51: 0x7f0267957ea2 - _PyRun_SimpleFileObject
52: 0x7f0267957c57 - _PyRun_AnyFileObject
53: 0x7f0267954e44 - Py_RunMain
54: 0x7f026792170d - Py_BytesMain
55: 0x7f02675c7560 - __libc_start_call_main
56: 0x7f02675c760c - __libc_start_main_impl
57: 0x5587c917f095 - _start
58: 0x0 - <unknown>
fatal runtime error: failed to initiate panic, error 5
Aborted (core dumped)