diff --git a/gst-libs/gst/tag/id3v2frames.c b/gst-libs/gst/tag/id3v2frames.c index 949bbbf0d8..b2e3353b6c 100644 --- a/gst-libs/gst/tag/id3v2frames.c +++ b/gst-libs/gst/tag/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) {