Thread panicks when filter is used inside C code
Created by: qezz
I want to use rsaudioecho
filter in C code (is it even possible?), but it panicks at gst_init()
if GST_PLUGIN_PATH
is specified
(macOS Sierra 10.12.6, Xcode 8.3.3 (8E3004b), clang-802.0.42, rustc 1.23.0-nightly, cargo 0.24.0-nightly, GStreamer 1.12.3)
int main(int argc, char *argv[]) {
setenv("RUST_BACKTRACE", "1", 1);
setenv("GST_PLUGIN_PATH","/Users/username/sources/gstreamer/gst-plugin-rs",1);
/* Initialize GStreamer */
gst_init (&argc, &argv);
return 0;
}
output:
thread '<unnamed>' panicked at 'assertion failed: ::types::instance_of::<Self>(ptr as *const _)', /Users/username/.cargo/git/checkouts/gstreamer-rs-8719441e7bb90fbc/2f7ee30/gstreamer/src/auto/plugin.rs:14:0
stack backtrace:
0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
1: std::sys_common::backtrace::_print
at src/libstd/sys_common/backtrace.rs:69
2: std::panicking::default_hook::{{closure}}
at src/libstd/sys_common/backtrace.rs:58
at src/libstd/panicking.rs:381
3: std::panicking::default_hook
at src/libstd/panicking.rs:397
4: std::panicking::rust_panic_with_hook
at src/libstd/panicking.rs:577
5: std::panicking::begin_panic
at /Users/travis/build/rust-lang/rust/src/libstd/panicking.rs:538
6: <gstreamer::auto::plugin::Plugin as glib::translate::FromGlibPtrBorrow<*mut gstreamer_sys::GstPlugin>>::from_glib_borrow
at /Users/username/sources/gstreamer/gst-plugin-rs/gst-plugin-audiofx/<panic macros>:3
7: glib::translate::from_glib_borrow
at /Users/username/.cargo/git/checkouts/glib-928cf7b282977403/a51dc67/src/translate.rs:825
8: gstrsaudiofx::plugin_desc::plugin_init_trampoline
at /Users/username/sources/gstreamer/gst-plugin-rs/gst-plugin-audiofx/<plugin_define macros>:24
9: gst_plugin_register_func
10: _priv_gst_plugin_load_file_for_registry
11: exchange_packets
12: _gst_plugin_loader_client_run
13: main
fatal runtime error: failed to initiate panic, error 5
Program ended with exit code: 9
BTW, rsaudioecho
works well with gst-launch-1.0
and gst-inspect-1.0