Sign up

GIR generation of GStreamer MPEG-TS library

There is a problem in gtk-rs/gir that there is insufficient data in the GStreamer GIR file to generate correct types for some of the the array return values from some function calls. An example is the type Descriptor and the function parse_ca in Rust parseCa in D. Somehow girtod seems to have inferred data that is not present in the GIR file, and I cannot imagine these bindings are written manually, or are they.

So the question is how is the GStreamer MPEG-TS D binding created, given the problems of the Rust bindings?

PS There is very likely to be work to make the GStreamer MPEG-TS source generate better GIR files.

Re: GIR generation of GStreamer MPEG-TS library

On 16-05-18 13:55, Russel Winder wrote:

There is a problem in gtk-rs/gir that there is insufficient data in the GStreamer GIR file to generate correct types for some of the the array return values from some function calls. An example is the type Descriptor and the function parse_ca in Rust parseCa in D. Somehow girtod seems to have inferred data that is not present in the GIR file, and I cannot imagine these bindings are written manually, or are they.

So the question is how is the GStreamer MPEG-TS D binding created, given the problems of the Rust bindings?

PS There is very likely to be work to make the GStreamer MPEG-TS source generate better GIR files.

The parseCa function was corrected with the lookup file GtkD uses:
https://github.com/gtkd-developers/GtkD/blob/master/src/APILookupGstMpegts.txt#L33

Re: GIR generation of GStreamer MPEG-TS library

The parseCa function was corrected with the lookup file GtkD uses:
https://github.com/gtkd-developers/GtkD/blob/master/src/APILookupGstMpegts.txt#L33

Aha, so you have a manual correction system. This now all makes sense.

Can I get you to write bug reports to GStreamer for all the GIR failures you found with GStreamer – to back up the fact that GStreamer source is not properly annotated. Sebastian will then mentor me to fix the GStreamer C source so as to create GIR files that do not need manual intervention. This should make life easier for D and Rust bindings to GStreamer.

https://gstreamer.freedesktop.org/bugs/

Re: GIR generation of GStreamer MPEG-TS library

On 16-05-18 20:08, Russel Winder wrote:

The parseCa function was corrected with the lookup file GtkD uses:
https://github.com/gtkd-developers/GtkD/blob/master/src/APILookupGstMpegts.txt#L33

Aha, so you have a manual correction system. This now all makes sense.

Can I get you to write bug reports to GStreamer for all the GIR failures you found with GStreamer – to back up the fact that GStreamer source is not properly annotated. Sebastian will then mentor me to fix the GStreamer C source so as to create GIR files that do not need manual intervention. This should make life easier for D and Rust bindings to GStreamer.

https://gstreamer.freedesktop.org/bugs/

https://bugzilla.gnome.org/show_bug.cgi?id=796221

Re: GIR generation of GStreamer MPEG-TS library

Mike,

https://bugzilla.gnome.org/show_bug.cgi?id=796221

Thanks. I'll volunteer to be the actor to get this fixed, as long as Sebastian acts as mentor. Feel free to chip in though as you can.

Re: GIR generation of GStreamer MPEG-TS library

Changes committed to the GStreamer bad plugins repository. GStreamer uses odd numbers for development and even for release so although it will be in 1.15.1, it will be 1.16.0 before it gets released into the distributions.