gst/debug/gsttaginject.c: Add warning when tags parameter is unparsable and give example for quoting in the docs.

Original commit message from CVS:
* gst/debug/gsttaginject.c:
Add warning when tags parameter is unparsable and give example for
quoting in the docs.
This commit is contained in:
Stefan Kost 2008-09-03 11:10:25 +00:00
parent 105e002337
commit d64815f75f
2 changed files with 18 additions and 5 deletions

View file

@ -1,3 +1,9 @@
2008-09-03 Stefan Kost <ensonic@users.sf.net>
* gst/debug/gsttaginject.c:
Add warning when tags parameter is unparsable and give example for
quoting in the docs.
2008-09-02 Wim Taymans <wim.taymans@collabora.co.uk>
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):

View file

@ -25,7 +25,10 @@
* unmodified.
* |[
* gst-launch audiotestsrc num-buffers=100 ! taginject tags="title=testsrc,artist=gstreamer" ! vorbisenc ! oggmux ! filesink location=test.ogg
* ]|
* ]| set title and artist
* |[
* gst-launch audiotestsrc num-buffers=100 ! taginject tags="keywords=\"testone,audio\",title=\"audio testtone\"" ! vorbisenc ! oggmux ! filesink location=test.ogg
* ]| set keywords and title demonstrating quoting of special chars
*/
#ifdef HAVE_CONFIG_H
@ -141,6 +144,7 @@ gst_tag_inject_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
self->tags_sent = TRUE;
/* send tags */
if (self->tags && !gst_tag_list_is_empty (self->tags)) {
GST_DEBUG ("tag event :%" GST_PTR_FORMAT, self->tags);
gst_element_found_tags (GST_ELEMENT (trans),
gst_tag_list_copy (self->tags));
}
@ -154,14 +158,17 @@ gst_tag_inject_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
{
GstTagInject *self = GST_TAG_INJECT (object);
gchar *structure;
switch (prop_id) {
case PROP_TAGS:
structure = g_strdup_printf ("taglist,%s", g_value_get_string (value));
self->tags = gst_structure_from_string (structure, NULL);
case PROP_TAGS:{
gchar *structure =
g_strdup_printf ("taglist,%s", g_value_get_string (value));
if (!(self->tags = gst_structure_from_string (structure, NULL))) {
GST_WARNING ("unparsable taglist = '%s'", structure);
}
g_free (structure);
break;
}
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;