[Bug 756806] message: Add extra information fields to error/warning/info messages
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Sun Apr 24 14:23:57 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=756806
Tim-Philipp Müller <t.i.m at zen.co.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |t.i.m at zen.co.uk
--- Comment #12 from Tim-Philipp Müller <t.i.m at zen.co.uk> ---
This looks good to me in principle, we should try to get it in.
- gst_message_new_info_with_details(): the 'returns' annotation has a
copy'n'paste-o ("a new warning message")
- the transfer annotations look a bit wrong all over the place
- e.g. gst_message_new_error_with_details() says 'transfer full' for details
and then calls _set_details() which is not transfer full.
- gst_message_parse_error_details() has "@structure: (out callee-allocates):"
- _parse_details() says "@structure: (transfer none):" in some places but is
actually transfer full because gst_structure_get() returns a copy (but also see
below).
> #define GST_ELEMENT_ERROR_WITH_DETAILS(el, domain, code, text, debug, args...)
Variadic macros are a bit tricky, there are multiple flavours and we need a
backup for when not available, see gstinfo.h
- I wonder if _set_details() should be _take_details() with transfer full so
that we don't copy the structure again
- I wonder if the detail fields should be set as a separate structure or
actually directly on the existing GstMessage structure?
- I wonder if _parse_details() shouldn't return a const GstStructure * that is
valid as long as the message is valid, thus avoiding a structure copy when
parsing it, and a free.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list