04dbfe2c2ccdcfdac7e68cd056d90f3bc87576f7
[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 [bindinator] is installed on the system
38
39 Make sure you are in an environement where latest `.gir` files are available (either install
40 or through the `$GI_TYPELIB_PATH` env var).
41
42     ninja -C update-all
43
44 * Verify newly generated code and `git add` files in `sources/generated/` and `ges/generated`
45 * Commit
46
47 Supported Platforms
48 ----
49 * Linux
50 * Mac OS X
51
52 Quick Start
53 ----
54 gstreamer-sharp provides ports of all samples from gst-docs in the samples folder.
55
56 Documentation
57 ----
58
59 Since this is a gobject-introspection binding the recommended documentation is
60 the native [gstreamer] documentation. A monodoc generated documentation will be installed.
61
62 Roadmap
63 ----
64 * Add an easy way to compile on Windows
65 * iOS and Android support
66 * Provide binaries for these platforms
67
68 License
69 ----
70 gstreamer-sharp is licensed under the [LGPL 2.1](https://www.gnu.org/licenses/lgpl-2.1.html)
71
72 [bindinator]:https://github.com/GLibSharp/bindinator
73 [gtk-sharp]:https://github.com/GLibSharp/GtkSharp
74 [gstreamer]: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/