Make GstVideo/AudioInfo GLib.Opaque structures
authorThibault Saunier <thibault.saunier@osg.samsung.com>
Mon, 25 Sep 2017 21:40:29 +0000 (18:40 -0300)
committerThibault Saunier <thibault.saunier@osg.samsung.com>
Tue, 26 Sep 2017 13:35:37 +0000 (10:35 -0300)
commitb5beac1217ab86d7c5600d2b4653758ed7b04074
tree79dde79fcdb7c7bbef49dda7ea5de183427ec658
parent78b259e3584d4419b0b29be7f30eb20fbd8cd9c5
Make GstVideo/AudioInfo GLib.Opaque structures

So that we generate a ABI compatible structure and make it working.
Also this is the way we do it for almost all other structures of this
kind.

I first tried to keep having a managed structure that properly matches
the C structure ABI generating in the gtk-sharp generator Explicit structure
for the union as we do with non managed structures but this is not
possible and leads to the following assertion in mono:

    Type Gst.Video.VideoInfo/__ABI which has an [ExplicitLayout] attribute cannot have a reference field at the same offset as another field.

This sensibly changes the API but I bet noone will even notice.

https://bugzilla.gnome.org/show_bug.cgi?id=788133
samples/BasicTutorial8.cs
samples/PlaybackTutorial3.cs
sources/gstreamer-sharp.metadata