diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2006-10-14 08:35:50 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2006-10-14 08:35:50 +0000 |
commit | f1bb12de8e50bf76ae21f37debda60994ec7fd99 (patch) | |
tree | 1671d4beef381f12d939e34b344eb385a3af4f19 /multimedia/gstreamer-plugins-good | |
parent | 29adee7bb42244f34736c5c24ed18a9b269d0925 (diff) |
Notes
Diffstat (limited to 'multimedia/gstreamer-plugins-good')
-rw-r--r-- | multimedia/gstreamer-plugins-good/Makefile | 6 | ||||
-rw-r--r-- | multimedia/gstreamer-plugins-good/files/patch-gst_id3demux_id3v2frames.c | 174 | ||||
-rw-r--r-- | multimedia/gstreamer-plugins-good/pkg-plist | 20 |
3 files changed, 23 insertions, 177 deletions
diff --git a/multimedia/gstreamer-plugins-good/Makefile b/multimedia/gstreamer-plugins-good/Makefile index 83df947d7d8a..8133176c84ca 100644 --- a/multimedia/gstreamer-plugins-good/Makefile +++ b/multimedia/gstreamer-plugins-good/Makefile @@ -3,7 +3,7 @@ # Whom: Michael Johnson <ahze@FreeBSD.org> # # $FreeBSD$ -# $MCom: ports/multimedia/gstreamer-plugins-good/Makefile,v 1.7 2006/06/08 01:14:31 ahze Exp $ +# $MCom: ports/multimedia/gstreamer-plugins-good/Makefile,v 1.10 2006/09/14 22:41:06 ahze Exp $ # PORTREVISION= 4 @@ -19,8 +19,8 @@ MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer-plugins BUILD_DEPENDS+= gstreamer-plugins>=${GST_VERSION}${GST_MINOR_VERSION}:${PORTSDIR}/multimedia/gstreamer-plugins RUN_DEPENDS+= gstreamer-plugins>=${GST_VERSION}${GST_MINOR_VERSION}:${PORTSDIR}/multimedia/gstreamer-plugins -DIST= good -GOOD_GST_DIRS= gst sys +gst_good_DIST= good +GOOD_GST_DIRS= gst sys po PLIST_SUB= VERSION="${GST_VERSION}" PLIST= ${.CURDIR}/pkg-plist diff --git a/multimedia/gstreamer-plugins-good/files/patch-gst_id3demux_id3v2frames.c b/multimedia/gstreamer-plugins-good/files/patch-gst_id3demux_id3v2frames.c deleted file mode 100644 index acdb3db8c177..000000000000 --- a/multimedia/gstreamer-plugins-good/files/patch-gst_id3demux_id3v2frames.c +++ /dev/null @@ -1,174 +0,0 @@ -diff -u -r1.16 id3v2frames.c ---- gst/id3demux/id3v2frames.c 10 May 2006 13:51:01 -0000 1.16 -+++ gst/id3demux/id3v2frames.c 15 May 2006 09:48:46 -0000 -@@ -667,33 +667,21 @@ - return result; - } - --static void --parse_insert_string_field (const gchar * encoding, gchar * data, gint data_size, -- GArray * fields) --{ -- gchar *field; -- -- field = g_convert (data, data_size, "UTF-8", encoding, NULL, NULL, NULL); -- if (field && !g_utf8_validate (field, -1, NULL)) { -- GST_DEBUG ("%s was bad UTF-8. Ignoring", field); -- g_free (field); -- field = NULL; -- } -- if (field) -- g_array_append_val (fields, field); --} -+static const gchar utf16enc[] = "UTF-16"; -+static const gchar utf16leenc[] = "UTF-16LE"; -+static const gchar utf16beenc[] = "UTF-16BE"; - - static gboolean --has_utf16_bom (gchar * data, const gchar ** p_in_encoding) -+find_utf16_bom (gchar * data, const gchar ** p_in_encoding) - { - guint16 marker = (GST_READ_UINT8 (data) << 8) | GST_READ_UINT8 (data + 1); - - switch (marker) { - case 0xFFFE: -- *p_in_encoding = "UTF16LE"; -+ *p_in_encoding = utf16leenc; - return TRUE; - case 0xFEFF: -- *p_in_encoding = "UTF16BE"; -+ *p_in_encoding = utf16beenc; - return TRUE; - default: - break; -@@ -702,6 +690,63 @@ - } - - static void -+parse_insert_string_field (guint8 encoding, gchar * data, gint data_size, -+ GArray * fields) -+{ -+ gchar *field = NULL; -+ -+ switch (encoding) { -+ case ID3V2_ENCODING_UTF16: -+ case ID3V2_ENCODING_UTF16BE: -+ { -+ const gchar *in_encode; -+ -+ if (encoding == ID3V2_ENCODING_UTF16) -+ in_encode = utf16enc; -+ else -+ in_encode = utf16beenc; -+ -+ /* Sometimes we see strings with multiple BOM markers at the start. -+ * In that case, we assume the innermost one is correct. If that fails -+ * to produce valid UTF-8, we try the other endianness anyway */ -+ while (data_size > 2 && find_utf16_bom (data, &in_encode)) { -+ data += 2; /* skip BOM */ -+ data_size -= 2; -+ } -+ -+ field = g_convert (data, data_size, "UTF-8", in_encode, NULL, NULL, NULL); -+ -+ if (field == NULL || g_utf8_validate (field, -1, NULL) == FALSE) { -+ /* As a fallback, try interpreting UTF-16 in the other endianness */ -+ if (in_encode == utf16beenc) -+ field = g_convert (data, data_size, "UTF-8", utf16leenc, -+ NULL, NULL, NULL); -+ } -+ } -+ -+ break; -+ case ID3V2_ENCODING_ISO8859: -+ field = g_convert (data, data_size, "UTF-8", "ISO-8859-1", -+ NULL, NULL, NULL); -+ break; -+ default: -+ field = g_strndup (data, data_size); -+ break; -+ } -+ -+ if (field) { -+ if (g_utf8_validate (field, -1, NULL)) { -+ g_array_append_val (fields, field); -+ return; -+ } -+ -+ GST_DEBUG ("%s was bad UTF-8 after conversion from encoding %d. Ignoring", -+ field, encoding); -+ g_free (field); -+ } -+} -+ -+static void - parse_split_strings (guint8 encoding, gchar * data, gint data_size, - GArray ** out_fields) - { -@@ -715,13 +760,13 @@ - case ID3V2_ENCODING_ISO8859: - for (text_pos = 0; text_pos < data_size; text_pos++) { - if (data[text_pos] == 0) { -- parse_insert_string_field ("ISO-8859-1", data + prev, -+ parse_insert_string_field (encoding, data + prev, - text_pos - prev + 1, fields); - prev = text_pos + 1; - } - } - if (data_size - prev > 0 && data[prev] != 0x00) { -- parse_insert_string_field ("ISO-8859-1", data + prev, -+ parse_insert_string_field (encoding, data + prev, - data_size - prev, fields); - } - -@@ -729,34 +774,24 @@ - case ID3V2_ENCODING_UTF8: - for (prev = 0, text_pos = 0; text_pos < data_size; text_pos++) { - if (data[text_pos] == '\0') { -- parse_insert_string_field ("UTF-8", data + prev, -+ parse_insert_string_field (encoding, data + prev, - text_pos - prev + 1, fields); - prev = text_pos + 1; - } - } - if (data_size - prev > 0 && data[prev] != 0x00) { -- parse_insert_string_field ("UTF-8", data + prev, -+ parse_insert_string_field (encoding, data + prev, - data_size - prev, fields); - } - break; - case ID3V2_ENCODING_UTF16: - case ID3V2_ENCODING_UTF16BE: - { -- const gchar *in_encode; -- -- if (encoding == ID3V2_ENCODING_UTF16) -- in_encode = "UTF-16"; -- else -- in_encode = "UTF-16BE"; -- - /* Find '\0\0' terminator */ - for (text_pos = 0; text_pos < data_size - 1; text_pos += 2) { - if (data[text_pos] == '\0' && data[text_pos + 1] == '\0') { -- if (has_utf16_bom (data + prev, &in_encode)) { -- prev += 2; /* skip BOM */ -- } - /* found a delimiter */ -- parse_insert_string_field (in_encode, data + prev, -+ parse_insert_string_field (encoding, data + prev, - text_pos - prev + 2, fields); - text_pos++; /* Advance to the 2nd NULL terminator */ - prev = text_pos + 1; -@@ -765,11 +800,8 @@ - } - if (data_size - prev > 1 && - (data[prev] != 0x00 || data[prev + 1] != 0x00)) { -- if (has_utf16_bom (data + prev, &in_encode)) { -- prev += 2; /* skip BOM */ -- } - /* There were 2 or more non-null chars left, convert those too */ -- parse_insert_string_field (in_encode, data + prev, -+ parse_insert_string_field (encoding, data + prev, - data_size - prev, fields); - } - break; diff --git a/multimedia/gstreamer-plugins-good/pkg-plist b/multimedia/gstreamer-plugins-good/pkg-plist index 88a6c9279e36..51ed562b3a73 100644 --- a/multimedia/gstreamer-plugins-good/pkg-plist +++ b/multimedia/gstreamer-plugins-good/pkg-plist @@ -91,3 +91,23 @@ lib/gstreamer-%%VERSION%%/libgstwavparse.so lib/gstreamer-%%VERSION%%/libgstximagesrc.a lib/gstreamer-%%VERSION%%/libgstximagesrc.la lib/gstreamer-%%VERSION%%/libgstximagesrc.so +share/locale/af/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/az/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/cs/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/en_GB/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/hu/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/it/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/nb/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/nl/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/or/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/sq/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/sr/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/sv/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/uk/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +share/locale/vi/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo +@dirrmtry share/locale/uk/LC_MESSAGES +@dirrmtry share/locale/uk +@dirrmtry share/locale/sr/LC_MESSAGES +@dirrmtry share/locale/sr +@dirrmtry share/locale/cs/LC_MESSAGES +@dirrmtry share/locale/cs |