How to build gstreamer-sharp using monodevelop / xamarin?

I am a developer of AudioCuesheetEditor, an audio clip editing application. The new version should be able to play sound, so I would like to use gstreamer as a backend. I did a little research on gstreamer and found out that I need to use version 1.x with gstreamer-sharp binding 0.99.x. No problem, downloaded gstreamer-sharp 0.99.0, opened the solution using monodevelop (on linux) or xamarin (on windows) and tried to build a dll, but that didn’t work. I get the error "namespace Gst.GLib" not found.

I am developing using xamarin / monodevelop and should have a portable application (working with mono / .net).

Can someone help me get the line gstreamer-sharp?

Thanks in advance!

+4
source share
2 answers

gstreamer-sharp is not currently supported on Windows, however you can compile the managed parts on Linux and compile the glue on Windows using Visual Studio:

  • Install gtk-sharp 3.0 from https://github.com/mono/gtk-sharp
  • Compile gstreamer-sharp using. /autogen.sh && & do
  • Take compiled glib-sharp and gstreamer-sharp binaries and all .c files from / glue / sources
  • Download and install the gstreamer binaries from http://gstreamer.freedesktop.org/data/pkg/windows/1.2.2/ and install the development packages and binaries for the architecture for which you want to compile. You can use gstreamer 1.0 or 1.2.
  • Use the Visual Studio template from the gstreamer-devel package and change the project type to library. Add the c files taken from the sources / glue folder and compile the glue library. The library should be called libgstreamersharpglue-1.0.0.dll
  • Place the controlled parts together with your own symbols.

EDIT: Compiling glue is now easier on Windows! Someone has created a project that can compile glue using Visual Studio on Windows. I have a fork that has binaries at https://github.com/xDarkice/libgstreamersharpglue

+13
source

gstreamer-sharp uses autotools for its build system, you cannot create it using the IDE. Please do dances with autoshock:

./autogen.sh --prefix=/the/prefix/where/you/want/to/install make sudo make install 
+2
source

Source: https://habr.com/ru/post/1486693/


All Articles