GStreamer multimedia framework
Go to file
2018-07-03 10:03:27 -04:00
ges ges: Mark padding fields as padding 2018-03-31 11:21:56 -03:00
girs Generate bindings for the new GstWebRTC library 2018-07-03 10:03:27 -04:00
samples tutorial6: Do not use linux specific .so names for the glib 2018-06-01 09:15:48 -04:00
sources Generate bindings for the new GstWebRTC library 2018-07-03 10:03:27 -04:00
subprojects Update the gtk-sharp wrap to point to the right place 2018-06-05 10:55:15 -04:00
Tests Meson: Use shared_library() because static build of C# is not supported 2018-03-24 11:37:22 -03:00
.gitignore Remove autotools 2017-10-12 09:45:50 +02:00
AUTHORS Initial commit 2013-12-21 16:52:19 +01:00
ChangeLog Initial commit 2013-12-21 16:52:19 +01:00
COPYING License: Change license in COPYING file 2014-05-28 14:26:43 +02:00
gacutil_install.py Add meson build definitions 2017-08-29 22:20:46 -03:00
generate_code.py Move generated files to dedicated folders named by namespace 2018-03-11 21:47:35 -03:00
gstreamer-sharp-1.0.pc.in pkg-config: Depend on gio#/glib# instead of gtk# 2014-10-12 15:08:47 +02:00
gstreamer-sharp.csproj build: update solution files 2014-08-07 01:03:46 +02:00
gstreamer-sharp.sln Added solution file 2013-12-21 16:52:27 +01:00
gstreamer-sharp.snk build: Make distcheck pass 2014-08-06 23:21:40 +02:00
meson.build Generate bindings for the new GstWebRTC library 2018-07-03 10:03:27 -04:00
nuget.py tests: Test SDPMessage creation 2018-03-21 09:48:32 -03:00
README.md Use bindinator as a subproject 2018-06-05 10:55:15 -04:00
update_sources.py Add a way to simply update sources and document it 2018-01-29 18:39:32 -03:00

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 & Installing

meson build && ninja -C build/

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 update-all
  • 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

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