This information is tracked fully in the git repository, so no point having the ChangeLog duplicate it, and it interferes with grepping the repository. We are going to create the ChangeLogs on the fly when generating tarballs going forward (with a limited history), since it's still valuable for tarball consumers to be able to easily see a list of recent changes. Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-project/-/issues/73 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3521> |
||
---|---|---|
.. | ||
ges | ||
girs | ||
samples | ||
scripts | ||
sources | ||
subprojects | ||
Tests | ||
.editorconfig | ||
.gitignore | ||
AUTHORS | ||
COPYING | ||
gacutil_install.py | ||
generate_code.py | ||
gstreamer-sharp-1.0.pc.in | ||
gstreamer-sharp.csproj | ||
gstreamer-sharp.sln | ||
gstreamer-sharp.snk | ||
meson.build | ||
meson_options.txt | ||
nuget.py | ||
README.md | ||
update_sources.py |
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/
andgit add
them - Verify newly generated code and
git add
files insources/generated/
andges/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