mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-18 05:16:05 +00:00
Extract vorbis comment LICENSE tags correctly.
Original commit message from CVS: * gst-libs/gst/tag/gstvorbistag.c: * tests/check/libs/tag.c: Extract vorbis comment LICENSE tags correctly.
This commit is contained in:
parent
054e43aa3c
commit
689ca135f3
3 changed files with 18 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2007-10-11 Tim-Philipp Müller <tim at centricular dot net>
|
||||||
|
|
||||||
|
* gst-libs/gst/tag/gstvorbistag.c:
|
||||||
|
* tests/check/libs/tag.c:
|
||||||
|
Extract vorbis comment LICENSE tags correctly.
|
||||||
|
|
||||||
2007-10-11 Tim-Philipp Müller <tim at centricular dot net>
|
2007-10-11 Tim-Philipp Müller <tim at centricular dot net>
|
||||||
|
|
||||||
Patch by: Jason Kivlighn <jkivlighn gmail com>
|
Patch by: Jason Kivlighn <jkivlighn gmail com>
|
||||||
|
|
|
@ -57,6 +57,7 @@ static const GstTagEntryMatch tag_matches[] = {
|
||||||
{GST_TAG_COMPOSER, "COMPOSER"},
|
{GST_TAG_COMPOSER, "COMPOSER"},
|
||||||
{GST_TAG_COPYRIGHT, "COPYRIGHT"},
|
{GST_TAG_COPYRIGHT, "COPYRIGHT"},
|
||||||
{GST_TAG_LICENSE, "LICENSE"},
|
{GST_TAG_LICENSE, "LICENSE"},
|
||||||
|
{GST_TAG_LICENSE_URI, "LICENSE"},
|
||||||
{GST_TAG_LOCATION, "LOCATION"},
|
{GST_TAG_LOCATION, "LOCATION"},
|
||||||
{GST_TAG_ORGANIZATION, "ORGANIZATION"},
|
{GST_TAG_ORGANIZATION, "ORGANIZATION"},
|
||||||
{GST_TAG_DESCRIPTION, "DESCRIPTION"},
|
{GST_TAG_DESCRIPTION, "DESCRIPTION"},
|
||||||
|
@ -226,6 +227,12 @@ gst_vorbis_tag_add (GstTagList * list, const gchar * tag, const gchar * value)
|
||||||
} else if (strlen (value) != 2 && strlen (value) != 3) {
|
} else if (strlen (value) != 2 && strlen (value) != 3) {
|
||||||
GST_WARNING ("doesn't contain an ISO-639 language code: %s", value);
|
GST_WARNING ("doesn't contain an ISO-639 language code: %s", value);
|
||||||
}
|
}
|
||||||
|
} else if (strcmp (tag, "LICENSE") == 0) {
|
||||||
|
/* license tags in vorbis comments must contain an URI representing
|
||||||
|
* the license and nothing more, at least according to:
|
||||||
|
* http://wiki.xiph.org/index.php/LICENSE_and_COPYRIGHT_tags_on_Vorbis_Comments */
|
||||||
|
if (value && gst_uri_is_valid (value))
|
||||||
|
gst_tag = GST_TAG_LICENSE_URI;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
|
|
|
@ -258,6 +258,8 @@ GST_START_TEST (test_vorbis_tags)
|
||||||
gst_vorbis_tag_add (list, "COPYRIGHT", "Copyfoo");
|
gst_vorbis_tag_add (list, "COPYRIGHT", "Copyfoo");
|
||||||
gst_vorbis_tag_add (list, "DESCRIPTION", "Descoo");
|
gst_vorbis_tag_add (list, "DESCRIPTION", "Descoo");
|
||||||
gst_vorbis_tag_add (list, "LICENSE", "Licoo");
|
gst_vorbis_tag_add (list, "LICENSE", "Licoo");
|
||||||
|
gst_vorbis_tag_add (list, "LICENSE",
|
||||||
|
"http://creativecommons.org/licenses/by/3.0/");
|
||||||
gst_vorbis_tag_add (list, "LOCATION", "Bristol, UK");
|
gst_vorbis_tag_add (list, "LOCATION", "Bristol, UK");
|
||||||
gst_vorbis_tag_add (list, "ORGANIZATION", "Orgoo");
|
gst_vorbis_tag_add (list, "ORGANIZATION", "Orgoo");
|
||||||
gst_vorbis_tag_add (list, "GENRE", "Goo");
|
gst_vorbis_tag_add (list, "GENRE", "Goo");
|
||||||
|
@ -278,6 +280,8 @@ GST_START_TEST (test_vorbis_tags)
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_COPYRIGHT, "Copyfoo");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_COPYRIGHT, "Copyfoo");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_DESCRIPTION, "Descoo");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_DESCRIPTION, "Descoo");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LICENSE, "Licoo");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LICENSE, "Licoo");
|
||||||
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LICENSE_URI,
|
||||||
|
"http://creativecommons.org/licenses/by/3.0/");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LOCATION, "Bristol, UK");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_LOCATION, "Bristol, UK");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_ORGANIZATION, "Orgoo");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_ORGANIZATION, "Orgoo");
|
||||||
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_GENRE, "Goo");
|
ASSERT_TAG_LIST_HAS_STRING (list, GST_TAG_GENRE, "Goo");
|
||||||
|
@ -322,6 +326,7 @@ GST_START_TEST (test_vorbis_tags)
|
||||||
* (',' or '.') regardless of the current locale */
|
* (',' or '.') regardless of the current locale */
|
||||||
gst_vorbis_tag_add (list, "REPLAYGAIN_ALBUM_PEAK", "0,98107");
|
gst_vorbis_tag_add (list, "REPLAYGAIN_ALBUM_PEAK", "0,98107");
|
||||||
ASSERT_TAG_LIST_HAS_DOUBLE (list, GST_TAG_ALBUM_PEAK, 0.98107);
|
ASSERT_TAG_LIST_HAS_DOUBLE (list, GST_TAG_ALBUM_PEAK, 0.98107);
|
||||||
|
gst_vorbis_tag_add (list, "LICENSE", "http://foo.com/license-1.html");
|
||||||
|
|
||||||
/* make sure we can convert back and forth without loss */
|
/* make sure we can convert back and forth without loss */
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue