I’m developing a Rust application using Tauri and gstreamer-rs. I’m encountering an issue where the application works perfectly in development mode (npm run tauri dev) but fails when I run the release build executable.
When running the release build executable, I get the following error:
"Couldn't create 'uridecodebin' element"
windows 11 latest.
GStreamer version: 1.22.10 (as reported by gst-launch-1.0 --gst-version)
GStreamer is correctly installed and functioning at the system level:
gst-launch-1.0 videotestsrc ! autovideosink works correctly, displaying a test pattern.
gst-inspect-1.0 uridecodebin returns detailed information about the element, confirming it’s properly installed.
Relevant environment variables are set:
C:\gstreamer\1.0\msvc_x86_64\bin
C:\gstreamer\1.0\msvc_x86_64\lib
C:\gstreamer\1.0\x86_64\include
GSTREAMER_1_0_ROOT_MSVC_X86_64 = C:\gstreamer\1.0\msvc_x86_64\
PKG_CONFIG_PATH includes: C:\gstreamer\1.0\msvc_x86_64\lib\pkgconfig
What could cause uridecodebin to fail in the release build but work in development mode, given that GStreamer is functioning correctly at the system level? Could this be related to how the release build is linking or loading GStreamer libraries? If so, what should I check or modify in my build process? Are there any additional debugging steps or information I should gather to help diagnose this issue?
Additional Observations
In some directories, we have .dll.a files instead of .dll files. For example:
C:\gstreamer\1.0\msvc_x86_64\lib\libgstreamer-1.0.dll.a
But of course It’s unclear if this is related to the issue or if it explains the difference in behavior between development and release modes. But I m struggling this problem couple of days and try to look everywhere to fix
I installed gstreamer simply: