| gstreamer-sharp | |
| ========= | |
| gstreamer-sharp is a .NET/mono binding for Gstreamer | |
| generated from gobject-introspection data using the [bindinator]. | |
| gstreamer-sharp currently wraps the API exposed by Gstreamer 1.12 | |
| and is compatible with newer gstreamer versions. It was developed | |
| under GSoC 2014 for the mono organization. gstreamer-sharp covers | |
| the core and base gstreamer libraries. | |
| Prerequisites | |
| ---- | |
| These libraries are needed for gstreamer-sharp to compile: | |
| * gstreamer core, base and good 1.14 or higher | |
| * [gtk-sharp] 3.22.0 or higher - *NOTE: This can be built as a meson subproject.* | |
| You will also need various .NET/mono bits (mcs and al). On debian-based distros | |
| you can install these with: | |
| sudo apt-get install mono-mcs mono-devel | |
| Building | |
| ---- | |
| meson build && ninja -C build/ | |
| Installing | |
| ---- | |
| This package is not installed as part of the system. It should either | |
| be built into a Nuget or used as a subproject like this. For example, | |
| with meson, one would use it like this: | |
| subproject('gstreamer-sharp', default_options: ['install=false']) | |
| gst_sharp = subproject('gstreamer-sharp') | |
| gst_sharp_dep = gst_sharp.get_variable('gst_sharp_dep') | |
| HACKING | |
| ------- | |
| While hacking on the code generator or the `.metadata` files, you will | |
| need to force code regeneration with `ninja update-code`, a full rebuild | |
| is triggered right after. | |
| Updating to new GStreamer version | |
| -------------------------------- | |
| Make sure you are in an environement where latest `.gir` files are available (either installed | |
| or through the `$GI_TYPELIB_PATH` env var), those files are automatically copied to `girs/`. | |
| ninja -C build update-all | |
| or if using gst-build, start gst-env and then run | |
| ninja -C build gstreamer-sharp@@update-all | |
| * Verify newly copied gir files in `girs/` and `git add` them | |
| * Verify newly generated code and `git add` files in `sources/generated/` and `ges/generated` | |
| * Commit | |
| Supported Platforms | |
| ---- | |
| * Linux | |
| * Mac OS X | |
| Quick Start | |
| ---- | |
| gstreamer-sharp provides ports of all samples from gst-docs in the samples folder. | |
| Documentation | |
| ---- | |
| Since this is a gobject-introspection binding the recommended documentation is | |
| the native [gstreamer] documentation. A monodoc generated documentation will be installed. | |
| Roadmap | |
| ---- | |
| * Add an easy way to compile on Windows | |
| * iOS and Android support | |
| * Provide binaries for these platforms | |
| License | |
| ---- | |
| gstreamer-sharp is licensed under the [LGPL 2.1](https://www.gnu.org/licenses/lgpl-2.1.html) | |
| [bindinator]:https://github.com/GLibSharp/bindinator | |
| [gtk-sharp]:https://github.com/GLibSharp/GtkSharp | |
| [gstreamer]: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/ |