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
|
|
|
|
----
|
2018-05-09 11:31:35 +00:00
|
|
|
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
|
|
|
|
|
2019-01-21 22:53:53 +00:00
|
|
|
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
|
|
|
|
2019-01-21 22:53:53 +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')
|
|
|
|
|
|
|
|
|
2018-01-29 21:03:40 +00:00
|
|
|
HACKING
|
|
|
|
-------
|
2017-08-24 14:47:52 +00:00
|
|
|
|
2018-01-29 21:03:40 +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
|
|
|
|
2018-01-29 21:03:40 +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/`.
|
2018-01-29 21:03:40 +00:00
|
|
|
|
2020-10-16 19:37:17 +00:00
|
|
|
ninja -C build update-all
|
|
|
|
|
|
|
|
or if using gst-build, start gst-env and then run
|
|
|
|
|
|
|
|
ninja -C build gstreamer-sharp@@update-all
|
2018-01-29 21:03:40 +00:00
|
|
|
|
2018-05-17 16:03:55 +00:00
|
|
|
* Verify newly copied gir files in `girs/` and `git add` them
|
2018-01-29 21:03:40 +00:00
|
|
|
* 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)
|
|
|
|
|
2018-01-29 21:03:40 +00:00
|
|
|
[bindinator]:https://github.com/GLibSharp/bindinator
|
2018-05-09 11:31:35 +00:00
|
|
|
[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/
|