[Bug 645167] [xmp] Add a new XmpConfig interface

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Mar 28 10:08:50 PDT 2011

  GStreamer | gst-plugins-base | unspecified

--- Comment #5 from Thiago Sousa Santos <thiago.sousa.santos at collabora.co.uk> 2011-03-28 17:08:44 UTC ---
(In reply to comment #4)
>  - not so keen on making libgstinterfaces depend on libgsttag. That
>    kind of defeats the purpose of libgstinterfaces. Why not just add
>    this to libgsttag directly? It's also more discoverable there with
>    the rest of the XMP stuff, IMHO. We have interfaces in other
>    libraries too (e.g. GstRtspExtension in libgstrtsp).

Agreed, moving there.

>  - I'm not fully convinced that the hash table in GstXmpConfigData
>    is the right data structure for the job, but since it's 100% internal
>    it doesn't hurt, I guess

I can't think of something else now, but we can always change this later.

>  - there's no interface vfunc to get a list of supported schemas for
>    that particular object. Am I correct in assuming that's not needed
>    because all XMP writers will always support all schemas supported
>    by libgsttag? (ie. it's not that some schemas don't make sense for
>    certain elements)

AFAIK there are no restrictions, the same schemas can be used for all formats.
We can add a new function in the future and default to all if it isn't

>  - not sure what to think about the name (GstXmpConfig), if maybe
>    GstTagXmpWriter or so wouldn't be nicer.


>  - dislike the GList * argument in:
>        gst_tag_list_to_xmp_buffer_full (const GstTagList * list,
>                gboolean read_only, GList * schemas);
>     why not a const gchar ** or even a simple const gchar *
>     (e.g. comma-separated list of schemas to use)? (see below)

GList* is not binding friendly, right? I prefer the const gchar**, but a single
gchar* is good, too.

>  - The config API per se looks ok, but I was wondering if it
>    actually reflects the envisaged use cases. In case of an
>    application using this interface to configure the xmp
>    writer to only use certain schemas: does the app usually
>    know in advance which schemas it wants (whitelist), or
>    does it know which ones it wants to disable (blacklist),
>    or does it just build things via add/remove from an empty
>    slate or the default list? If it's the first, some simple
>    set_schemas (writer, "schema1, schema2"); might
>    almost be sufficient :)

The use case I have is to be able to disable some undesired schema, so the
blacklist mode makes sense to me. But then I don't know about all the possible
use cases, one might want only a specific schema.

Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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