summaryrefslogtreecommitdiffstats
path: root/gst/id3demux
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2006-06-22 12:17:13 +0000
committerTim-Philipp Müller <tim@centricular.net>2006-06-22 12:17:13 +0000
commita6af52cc25a1f1407f30f04e3119ff3ef15dde3f (patch)
treeabce1a7336b73e0b6b50a7b6bd4a68b863764e30 /gst/id3demux
parentd1961af6888ba5ec94bc746728b3f787beb02475 (diff)
gst/id3demux/id3v2frames.c: Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE buffer caps (#344605).
Original commit message from CVS: * gst/id3demux/id3v2frames.c: (parse_picture_frame): Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE buffer caps (#344605).
Diffstat (limited to 'gst/id3demux')
-rw-r--r--gst/id3demux/id3v2frames.c12
1 files changed, 9 insertions, 3 deletions
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) {