gstreamer/README.md

91 lines
2.6 KiB
Markdown
Raw Normal View History

2013-06-17 14:18:18 +00:00
gstreamer-sharp
2014-08-15 16:32:08 +00:00
=========
2013-06-17 14:18:18 +00:00
2017-09-05 01:04:35 +00:00
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.
2013-06-17 14:36:35 +00:00
2014-08-15 16:32:08 +00:00
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.*
2014-08-15 16:32:08 +00:00
2018-03-14 00:26:35 +00:00
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
2014-08-15 16:32:08 +00:00
----
2017-08-24 14:47:52 +00:00
meson build && ninja -C build/
2018-03-14 00:26:35 +00:00
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
-------
2017-08-24 14:47:52 +00:00
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.
2017-08-24 14:47:52 +00:00
Updating to new GStreamer version
--------------------------------
2018-05-17 16:03:55 +00:00
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
2018-05-17 16:03:55 +00:00
* 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
2014-08-15 16:32:08 +00:00
Supported Platforms
----
* Linux
* Mac OS X
Quick Start
----
2017-08-24 14:47:52 +00:00
gstreamer-sharp provides ports of all samples from gst-docs in the samples folder.
2014-08-15 16:32:08 +00:00
Documentation
----
2017-08-24 14:47:52 +00:00
2017-09-05 01:04:35 +00:00
Since this is a gobject-introspection binding the recommended documentation is
the native [gstreamer] documentation. A monodoc generated documentation will be installed.
2014-08-15 16:32:08 +00:00
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
2017-09-05 01:04:35 +00:00
[gstreamer]: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/