diff options
-rw-r--r-- | ChangeLog | 6 | ||||
m--------- | common | 0 | ||||
-rw-r--r-- | gst/id3demux/id3v2frames.c | 12 |
3 files changed, 15 insertions, 3 deletions
@@ -1,3 +1,9 @@ +2006-06-22 Tim-Philipp Müller <tim at centricular dot net> + + * gst/id3demux/id3v2frames.c: (parse_picture_frame): + Set image type from APIC frame as "image-type" field + of GST_TAG_IMAGE buffer caps (#344605). + 2006-06-20 Tim-Philipp Müller <tim at centricular dot net> * ext/flac/Makefile.am: diff --git a/common b/common -Subproject bbfa0146961f4ca61ddbca7b42360b5741a6354 +Subproject 123195d3bbcc0b6e1cf867d3a180685f8766a0b diff --git a/gst/id3demux/id3v2frames.c b/gst/id3demux/id3v2frames.c index 949bbbf0..b2e3353b 100644 --- a/gst/id3demux/id3v2frames.c +++ b/gst/id3demux/id3v2frames.c @@ -495,9 +495,15 @@ parse_picture_frame (ID3TagsWorking * work) } if (image && image_caps) { - /* FIXME: use an enum here, declare in -base/gst-libs/gst/tag/? */ - /* gst_structure_set (gst_caps_get_structure (image_caps, 0), - "id3-picture-type", G_TYPE_INT, (gint) pic_type, NULL); */ + /* FIXME: remove #ifdef once we depend on -base >= 0.10.9 */ +#ifdef GST_TYPE_TAG_IMAGE_TYPE + if (pic_type > 0x14) + pic_type = GST_TAG_IMAGE_TYPE_UNDEFINED; + gst_structure_set (gst_caps_get_structure (image_caps, 0), + "image-type", GST_TYPE_TAG_IMAGE_TYPE, + (GstTagImageType) pic_type, NULL); +#endif + gst_buffer_set_caps (image, image_caps); gst_caps_unref (image_caps); if (pic_type == 0x01 || pic_type == 0x02) { |