diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-06-11 11:18:23 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-06-11 11:18:23 +0000 |
commit | 4c46ceb4cbacdf009c46d0ca55338c8e9694b2fe (patch) | |
tree | 05d0968c97996cd2addaef4cc302e7d907e7be2b /gst/matroska/matroska-mux.c | |
parent | 86c4b045ea820771ff896578b64be5364fef8980 (diff) |
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.
Diffstat (limited to 'gst/matroska/matroska-mux.c')
-rw-r--r-- | gst/matroska/matroska-mux.c | 29 |
1 files changed, 20 insertions, 9 deletions
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; } |