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> 2008-09-02 Wim Taymans <wim.taymans@collabora.co.uk>
* gst/qtdemux/qtdemux.c: (qtdemux_audio_caps): * gst/qtdemux/qtdemux.c: (qtdemux_audio_caps):

View file

@ -25,7 +25,10 @@
* unmodified. * unmodified.
* |[ * |[
* gst-launch audiotestsrc num-buffers=100 ! taginject tags="title=testsrc,artist=gstreamer" ! vorbisenc ! oggmux ! filesink location=test.ogg * 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 #ifdef HAVE_CONFIG_H
@ -141,6 +144,7 @@ gst_tag_inject_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
self->tags_sent = TRUE; self->tags_sent = TRUE;
/* send tags */ /* send tags */
if (self->tags && !gst_tag_list_is_empty (self->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_element_found_tags (GST_ELEMENT (trans),
gst_tag_list_copy (self->tags)); 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) const GValue * value, GParamSpec * pspec)
{ {
GstTagInject *self = GST_TAG_INJECT (object); GstTagInject *self = GST_TAG_INJECT (object);
gchar *structure;
switch (prop_id) { switch (prop_id) {
case PROP_TAGS: case PROP_TAGS:{
structure = g_strdup_printf ("taglist,%s", g_value_get_string (value)); gchar *structure =
self->tags = gst_structure_from_string (structure, NULL); 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); g_free (structure);
break; break;
}
default: default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break; break;