Use bindinator as a subproject
[platform/upstream/gstreamer.git] / README.md
1 gstreamer-sharp
2 =========
3
4 gstreamer-sharp is a .NET/mono binding for Gstreamer
5 generated from gobject-introspection data using the [bindinator].
6 gstreamer-sharp currently wraps the API exposed by Gstreamer 1.12
7 and is compatible with newer gstreamer versions. It was developed
8 under GSoC 2014 for the mono organization. gstreamer-sharp covers
9 the core and base gstreamer libraries.
10
11 Prerequisites
12 ----
13 These libraries are needed for gstreamer-sharp to compile:
14 * gstreamer core, base and good 1.14 or higher
15 * [gtk-sharp] 3.22.0 or higher - *NOTE: This can be built as a meson subproject.*
16
17 You will also need various .NET/mono bits (mcs and al). On debian-based distros
18 you can install these with:
19
20     sudo apt-get install mono-mcs mono-devel
21
22 Building & Installing
23 ----
24
25     meson build && ninja -C build/
26
27 HACKING
28 -------
29
30 While hacking on the code generator or the `.metadata` files, you will
31 need to force code regeneration with `ninja update-code`, a full rebuild
32 is triggered right after.
33
34 Updating to new GStreamer version
35 --------------------------------
36
37 Make sure you are in an environement where latest `.gir` files are available (either installed
38 or through the `$GI_TYPELIB_PATH` env var), those files are automatically copied to `girs/`.
39
40     ninja -C update-all
41
42 * Verify newly copied gir files in `girs/` and `git add` them
43 * Verify newly generated code and `git add` files in `sources/generated/` and `ges/generated`
44 * Commit
45
46 Supported Platforms
47 ----
48 * Linux
49 * Mac OS X
50
51 Quick Start
52 ----
53 gstreamer-sharp provides ports of all samples from gst-docs in the samples folder.
54
55 Documentation
56 ----
57
58 Since this is a gobject-introspection binding the recommended documentation is
59 the native [gstreamer] documentation. A monodoc generated documentation will be installed.
60
61 Roadmap
62 ----
63 * Add an easy way to compile on Windows
64 * iOS and Android support
65 * Provide binaries for these platforms
66
67 License
68 ----
69 gstreamer-sharp is licensed under the [LGPL 2.1](https://www.gnu.org/licenses/lgpl-2.1.html)
70
71 [bindinator]:https://github.com/GLibSharp/bindinator
72 [gtk-sharp]:https://github.com/GLibSharp/GtkSharp
73 [gstreamer]: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/