After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 726496 - System.AccessViolationException when running Gst.Registry.ScanPath()
System.AccessViolationException when running Gst.Registry.ScanPath()
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-sharp
1.x
Other Windows
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-03-17 09:27 UTC by Sven
Modified: 2014-04-10 12:01 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sven 2014-03-17 09:27:07 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.
Comment 1 Sven 2014-03-31 18:18:28 UTC
Anybody help here? What can I do to provide more information?!
Comment 2 Andrés G. Aragoneses (IRC: knocte) 2014-03-31 18:24:11 UTC
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#
Comment 3 Stephan Sundermann 2014-04-02 18:10:26 UTC
Are you running .NET or mono on Windows?
Comment 4 Sven 2014-04-03 06:19:26 UTC
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?
Comment 5 Stephan Sundermann 2014-04-03 12:25:21 UTC
Can you try with .NET?
Comment 6 Sven 2014-04-03 15:34:15 UTC
Tried it with Visual Studio (same project) and get the same exception. Any idea?
Comment 7 Sven 2014-04-07 06:32:06 UTC
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?
Comment 8 Stephan Sundermann 2014-04-07 11:02:37 UTC
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.
Comment 9 Sven 2014-04-08 06:18:01 UTC
Tried it and it fails also with the SystemVialationException. What else can I try? Any logfiles?
Comment 10 Sven 2014-04-09 07:14:27 UTC
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?
Comment 11 Sven 2014-04-10 11:59:22 UTC
I just got it. My error was, that I didn't run "Gst.Application.Init()" before "reg.ScanPath()".