From 4c46ceb4cbacdf009c46d0ca55338c8e9694b2fe Mon Sep 17 00:00:00 2001 From: Sebastian Dröge Date: Wed, 11 Jun 2008 11:18:23 +0000 Subject: gst/matroska/: Add some more tags, improve debugging a bit and make sure that Original commit message from CVS: * gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_metadata_id_simple_tag): * gst/matroska/matroska-ids.h: * gst/matroska/matroska-mux.c: (gst_matroska_mux_write_simple_tag): Add some more tags, improve debugging a bit and make sure that GValue transformation has succeeded before using the result as a tag. --- gst/matroska/matroska-mux.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'gst/matroska/matroska-mux.c') diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index d41ba0ad..7715402f 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -1519,10 +1519,18 @@ gst_matroska_mux_write_simple_tag (const GstTagList * list, const gchar * tag, GST_MATROSKA_TAG_ID_ALBUM, GST_TAG_ALBUM}, { GST_MATROSKA_TAG_ID_COMMENTS, GST_TAG_COMMENT}, { GST_MATROSKA_TAG_ID_BITSPS, GST_TAG_BITRATE}, { + GST_MATROSKA_TAG_ID_BPS, GST_TAG_BITRATE}, { + GST_MATROSKA_TAG_ID_ENCODER, GST_TAG_ENCODER}, { GST_MATROSKA_TAG_ID_DATE, GST_TAG_DATE}, { GST_MATROSKA_TAG_ID_ISRC, GST_TAG_ISRC}, { - GST_MATROSKA_TAG_ID_COPYRIGHT, GST_TAG_COPYRIGHT} + GST_MATROSKA_TAG_ID_COPYRIGHT, GST_TAG_COPYRIGHT}, { + GST_MATROSKA_TAG_ID_BPM, GST_TAG_BEATS_PER_MINUTE}, { + GST_MATROSKA_TAG_ID_TERMS_OF_USE, GST_TAG_LICENSE}, { + GST_MATROSKA_TAG_ID_COMPOSER, GST_TAG_COMPOSER}, { + GST_MATROSKA_TAG_ID_LEAD_PERFORMER, GST_TAG_PERFORMER}, { + GST_MATROSKA_TAG_ID_GENRE, GST_TAG_GENRE} }; + GstEbmlWrite *ebml = (GstEbmlWrite *) data; guint i; @@ -1541,15 +1549,18 @@ gst_matroska_mux_write_simple_tag (const GstTagList * list, const gchar * tag, if (!gst_tag_list_copy_value (&src, list, tag)) break; g_value_init (&dest, G_TYPE_STRING); - g_value_transform (&src, &dest); + if (g_value_transform (&src, &dest)) { + + simpletag_master = gst_ebml_write_master_start (ebml, + GST_MATROSKA_ID_SIMPLETAG); + gst_ebml_write_ascii (ebml, GST_MATROSKA_ID_TAGNAME, tagname_mkv); + gst_ebml_write_utf8 (ebml, GST_MATROSKA_ID_TAGSTRING, + g_value_get_string (&dest)); + gst_ebml_write_master_finish (ebml, simpletag_master); + } else { + GST_WARNING ("Can't transform tag '%s' to string", tagname_mkv); + } g_value_unset (&src); - - simpletag_master = gst_ebml_write_master_start (ebml, - GST_MATROSKA_ID_SIMPLETAG); - gst_ebml_write_ascii (ebml, GST_MATROSKA_ID_TAGNAME, tagname_mkv); - gst_ebml_write_utf8 (ebml, GST_MATROSKA_ID_TAGSTRING, - g_value_get_string (&dest)); - gst_ebml_write_master_finish (ebml, simpletag_master); g_value_unset (&dest); break; } -- cgit