GNOME Bugzilla – Bug 726496
System.AccessViolationException when running Gst.Registry.ScanPath()
Last modified: 2014-04-10 12:01:06 UTC
I'm trying to bind gstreamer-sharp to my application. Since it is developed on Windows and Linux and also needs to run on both, we considered gstreamer to be the correct project for an audio binding. To the problem: First we try to build on windows with gstreamer-1.x backend, using gstreamer-sharp 0.99. Steps to reproduced the problem: 1. Link gstreamer-sharp.dll to your project in xamarin (or monodevelop on linux) 2. Use the following code: SetDllDirectory("E:\\Programme (x86)\\gstreamer\\1.0\\x86\\bin"); Registry reg = Registry.Get(); reg.ScanPath("E:\\Programme (x86)\\gstreamer\\1.0\\x86\\lib\\gstreamer-1.0"); 3. Get a System.AccessViolationException when entering the line "reg.ScanPath()". For those who ask, why I run SetDllDirectory: Gstreamer is NOT found on windows, when entering it to the PATH variable of windows.
Anybody help here? What can I do to provide more information?!
I'm afraid this project is run by volunteers and I don't think any of us have found time yet to try to compile/run the bindings in the Windows platform. If you want to help and chat, you can find us in irc://irc.gnome.org/gtk#
Are you running .NET or mono on Windows?
I think I'm running mono on Windows, just using the standard build from xamarin. The project runs mono on linux for sure, but how can I proove on windows?
Can you try with .NET?
Tried it with Visual Studio (same project) and get the same exception. Any idea?
I tried it with a new visual studio project, just to test it. Made a textbox for the audiofilepath and added a button play. If I work with the same code from the project, it fails also with the SystemVialotionException. Is it just me facing this problem?
It works in Vocaluxe, though Vocaluxe is loading the libraries from a folder provided by the program where the stuff from the installer packages is merged. Try putting only the dll files from bin and lib into one folder and try loading from there.
Tried it and it fails also with the SystemVialationException. What else can I try? Any logfiles?
I could build Vocaluxe now and as I debugged, I could see, that gstreamer backend is used. But why does it fail on a testprogram?
I just got it. My error was, that I didn't run "Gst.Application.Init()" before "reg.ScanPath()".