[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