GNOME Bugzilla – Bug 796221
GstMpegts: missing introspection annotations.
Last modified: 2018-05-19 09:08:03 UTC
With GstMpegts none of the functions that have array parameters are annotated as such. The following functions are missing the array annotation: gst_mpegts_descriptor_parse_ca gst_mpegts_descriptor_parse_dvb_data_broadcast_id gst_mpegts_descriptor_parse_dvb_private_data_specifier gst_mpegts_descriptor_from_custom gst_mpegts_descriptor_from_custom_with_extension gst_mpegts_descriptor_from_registration gst_mpegts_section_new And 'gst_mpegts_descriptor_parse_dvb_multilingual_component' seems to be missing an 'out' annotation for the 'component_tag' parameter.
Thanks! Do you want to provide a patch for that?
I see you're working on the D bindings. Do you also have any other annotation problems you noticed in the other libraries, and especially in GStreamer core/base? Or are those all fine?
Sebastian, Are there examples of how to annotate the C code appropriately, that I could follow to create the necessary patch file – though isn't it about time for GitLab or GitHub pull requests?
(In reply to Russel Winder from comment #3) > Are there examples of how to annotate the C code appropriately, that I could > follow to create the necessary patch file https://wiki.gnome.org/action/show/Projects/GObjectIntrospection/Annotations has all the documentation. The array length example is probably most interesting for you: https://wiki.gnome.org/action/show/Projects/GObjectIntrospection/Annotations#Array_length > though isn't it about time for GitLab or GitHub pull requests? No, we're never going to move to GitHub but will probably move at some point this year to GitLab on freedesktop.org. But we did not move yet. Once you can't use Bugzilla anymore you know that we've moved :)
(In reply to Sebastian Dröge (slomo) from comment #4) OK, I'll get to work. I can understand going with GitLab rather than GitHub, works for me. In the interim is it OK to work with a clone of the freedesktop Git repository, rebasing any changes, and post a sample patch here to ensure I am doing the right thing.
Should the first parameter in the first example on https://wiki.gnome.org/action/show/Projects/GObjectIntrospection/Annotations#Array_length be @list_store rather than @store
Created attachment 372177 [details] Putative patch for array parameters
Created attachment 372179 [details] Updated trial patch for checking if thi is the right direction. I guess the questions is whether (element-type…) annotations are needed.
(In reply to Russel Winder from comment #5) > In the interim is it OK to work with a clone of the freedesktop Git > repository, rebasing any changes, and post a sample patch here to ensure I > am doing the right thing. Yes, see https://gstreamer.freedesktop.org/documentation/contribute/index.html#how-to-submit-patches
(In reply to Russel Winder from comment #8) > I guess the questions is whether (element-type…) annotations are needed. Check in the gir file if it puts the correct type automatically. Usually that annotation is only needed for things like GList and GPtrArray.
Gst_Plugins_Bad Meson build won't let me create a trial build with GStreamer 1.14.0, it is insisting on 1.15.0. This is getting to be too big a hurdle for such a small patch.
I'm sure it's fine to make a patch against 1.14 branch (requires 1.14.1) or even the 1.14.0 tag of -bad. Not much has changed in this area really.
(In reply to Tim-Philipp Müller from comment #12) I cloned gst_plugins_bad to make the changes so I am making a patch against master/HEAD, the problem is I cannot fulfil Sebastian's request to check the result of the patch because I can't build master of the plugins without building the whole of GStreamer. But maybe that is the penalty that must be paid?
I tried doing a Meson build from GST_Build but the setup failed in gst-python: subprojects/gst-python/meson.build:21:0: ERROR: Native dependency 'pygobject-3.0' not found No idea where to get this dependency on Debian Sid.
$ dpkg -S /usr/lib/x86_64-linux-gnu/pkgconfig/pygobject-3.0.pc python-gi-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/pygobject-3.0.pc Not sure why it tries that at all though, enable_python should default to false according to meson_options.txt
Hummm… that package wasn't there when I looked earlier, now it is. Magic. :-)
(In reply to Sebastian Dröge (slomo) from comment #2) > I see you're working on the D bindings. Do you also have any other > annotation problems you noticed in the other libraries, and especially in > GStreamer core/base? Or are those all fine? Core seems to be fine, i sill need to check against master but might know a few more for gstBase. Currently we only have bindings for a small part of Gstreamer, so we might find some more once that is more complete.
I have now compiled the whole of GStreamer with the new changes and it appears that the GIR file has been generated appropriately. I'll now follow the official process and submit a patch.
Created attachment 372196 [details] [review] Some annotations toreflect that some of the function parameters are arrays.
Thanks !