GNOME Bugzilla – Bug 703747
GStreamer extractor doesn't properly extract media art
Last modified: 2013-07-11 18:06:24 UTC
The media art image type is taken from the caps of the sample, which is incorrect according to GStreamer's documentation. We are supposed to get the media type from the extra information of the sample and not from the caps. Because of this, getting the "image-type" field from the caps fails, and the code doesn't check if this fails, leaving the variable "type" uninitialized. So, if you're lucky enough, type will have the value "0", and the if block next to it will work. To fix this, we should get the "image-type" field from the extra information for the sample, then ensure if this succeeds. I attached a patch that do this. I also moved the caps inside the if block so that it won't be unnecessarily retrieved if the image-type fails. The patch was tested in Fedora 19 and openSUSE 12.3.
Created attachment 248552 [details] [review] tracker-extract-gstreamer: Get media art image type from sample info Instead of getting the "image-type" field from the caps of the sample, get it from the structure for extra information of the sample. Check also that the field does exists, skipping the sample if it doesn't.
Great patch, seems to work when I tested it thanks! :) This problem has been fixed in the development version. The fix will be available in the next major software release 0.17.0 The fix will go into the next software release 0.16.2. Thank you for your bug report.