gst-libs/gst/tag/tags.c: Don't drop the last byte of image tags if they're not an...
authorSebastian Dröge <slomo@circular-chaos.org>
Mon, 13 Oct 2008 08:15:13 +0000 (08:15 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Mon, 13 Oct 2008 08:15:13 +0000 (08:15 +0000)
Original commit message from CVS:
* gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer):
Don't drop the last byte of image tags if they're not an URI list.
Fixes bug #556066.

ChangeLog
gst-libs/gst/tag/tags.c

index 8719e98..a5be1ec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
 
+       * gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer):
+       Don't drop the last byte of image tags if they're not an URI list.
+       Fixes bug #556066.
+
+2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
+
        * gst/typefind/gsttypefindfunctions.c: (flac_type_find):
        For looking at the 4th byte we have to get 4 bytes of course
        and not 3.
index 0afbb6b..b7c6f92 100644 (file)
@@ -410,7 +410,7 @@ gst_tag_image_data_to_image_buffer (const guint8 * image_data,
 
   memcpy (GST_BUFFER_DATA (image), image_data, image_data_len);
   GST_BUFFER_DATA (image)[image_data_len] = '\0';
-  GST_BUFFER_SIZE (image) = image_data_len;
+  GST_BUFFER_SIZE (image) = image_data_len + 1;
 
   /* Find GStreamer media type, can't trust declared type */
   caps = gst_type_find_helper_for_buffer (NULL, image, NULL);
@@ -434,7 +434,7 @@ gst_tag_image_data_to_image_buffer (const guint8 * image_data,
    * to keep the original size of the image
    */
   if (!g_str_equal (name, "text/uri-list"))
-    GST_BUFFER_SIZE (image) = GST_BUFFER_SIZE (image) - 1;
+    GST_BUFFER_SIZE (image) = image_data_len;
 
   if (image_type != GST_TAG_IMAGE_TYPE_NONE) {
     GST_LOG ("Setting image type: %d", image_type);