GNOME Bugzilla – Bug 622103
Taglib# does not support PEF files
Last modified: 2010-08-09 12:40:19 UTC
Parsing metadata for these files is currently supported and needs to be added in taglib# to prevent regressions when we switch to it. Part of bug 618683.
I'm using git master version and I can confirm TagLib still needs to be updated. Trying to import PEF files throws TagLib.UnsupportedFormatException. I have also reported this problem to the mailing list. http://mail.gnome.org/archives/f-spot-list/2010-July/msg00040.html
This is one of many PEF files I tried to import without any successs using most recent F-Spot from Git master. Here is IMGP8879.PEF file: http://omploader.org/iNTNjOA Here is debug log from generated during the importa procedure: ========================================================================= mloskot@dog:~/dev/f-spot/_git/install$ ./bin/f-spot --basedir /tmp --photodir /tmp --debug ** Running f-spot in Debug Mode ** ** Running Mono with --debug ** [1 Info 19:44:49.257] BaseDirectory is now /tmp [1 Info 19:44:49.263] PhotoDirectory is now /tmp [1 Info 19:44:49.265] Initializing Mono.Addins [1 Debug 19:44:49.366] Mono.Addins Initialization took 0.097852 [1 Debug 19:44:49.572] Db Initialization took 0.071606 [1 Debug 19:44:49.794] Query Started : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 19:44:49.795] QueryToTemp took 0.000784 : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 19:44:49.795] Reloading the query took 0.003192 [2 Debug 19:44:50.012] PhotosPerMonth took 0.00053 [2 Debug 19:44:50.013] TimeAdaptor REAL Reload took 0.206317 [1 Debug 19:44:50.015] Query Started : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 19:44:50.016] QueryToTemp took 0.000683 : SELECT * FROM photos WHERE photos.id NOT IN (SELECT photo_id FROM photo_tags WHERE tag_id = 2) ORDER BY time DESC, filename ASC [1 Debug 19:44:50.076] Reloading the query took 0.061253 (f-spot:2797): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference. [3 Debug 19:44:50.220] PhotosPerMonth took 0.000624 [3 Debug 19:44:50.220] TimeAdaptor REAL Reload took 0.20275 [1 Debug 19:45:06.028] Received controller event: SourceChanged [1 Debug 19:45:06.031] Received controller event: PhotoScanStarted [1 Debug 19:45:06.101] Invalid thumbnail, reloading: file:///home/mloskot/Desktop/f-spot-test-pef/IMGP8879.PEF [1 Warn 19:45:06.110] Loading of Metadata failed for file: file:///home/mloskot/Desktop/f-spot-test-pef/IMGP8879.PEF - TagLib.UnsupportedFormatException: file:///home/mloskot/Desktop/f-spot-test-pef/IMGP8879.PEF (image/x-pentax-pef) (in `TagLib') at TagLib.File.Create (IFileAbstraction abstraction, System.String mimetype, ReadStyle propertiesStyle) [0x0013f] in /home/mloskot/dev/f-spot/_git/master/lib/TagLib/TagLib/src/TagLib/File.cs:1489 at FSpot.Utils.Metadata.Parse (Hyena.SafeUri uri) [0x00071] in /home/mloskot/dev/f-spot/_git/master/src/Utils/Metadata.cs:29 [1 Debug 19:45:06.760] Received controller event: PhotoScanFinished [1 Debug 19:45:06.860] Loading image took 0.780747 [4 Warn 19:45:11.086] Loading of Metadata failed for file: file:///home/mloskot/Desktop/f-spot-test-pef/IMGP8879.PEF - TagLib.UnsupportedFormatException: file:///home/mloskot/Desktop/f-spot-test-pef/IMGP8879.PEF (image/x-pentax-pef) (in `TagLib') at TagLib.File.Create (IFileAbstraction abstraction, System.String mimetype, ReadStyle propertiesStyle) [0x0013f] in /home/mloskot/dev/f-spot/_git/master/lib/TagLib/TagLib/src/TagLib/File.cs:1489 at FSpot.Utils.Metadata.Parse (Hyena.SafeUri uri) [0x00071] in /home/mloskot/dev/f-spot/_git/master/src/Utils/Metadata.cs:29 Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object at FSpot.FileBrowsableItem.EnsureMetadataParsed () [0x0001d] in /home/mloskot/dev/f-spot/_git/master/src/Core/FileBrowsableItem.cs:40 at FSpot.FileBrowsableItem.get_Time () [0x00000] in /home/mloskot/dev/f-spot/_git/master/src/Core/FileBrowsableItem.cs:64 at FSpot.Import.ImportController.FindImportDestination (IBrowsableItem item) [0x00020] in /home/mloskot/dev/f-spot/_git/master/src/Import/ImportController.cs:405 at FSpot.Import.ImportController.ImportPhoto (IBrowsableItem item, FSpot.Roll roll) [0x00000] in /home/mloskot/dev/f-spot/_git/master/src/Import/ImportController.cs:337 at FSpot.Import.ImportController.DoImport () [0x000f0] in /home/mloskot/dev/f-spot/_git/master/src/Import/ImportController.cs:264 mloskot@dog:~/dev/f-spot/_git/install$ =========================================================================
Correct, this needs to be fixed. Would you mind if I add that file to our regression suite once we implement PEF support? It'd be distributed as Creative Commons then.
Surely, I do not mind at all. I publish most of photos as Creative Commons on my Flickr. Thanks for your support!
Added support for PEF files. Also added your image to the regression suite. Should work starting with version 0.7.2.
Ruben, I've repeated the test import of my PEF file and I'm glad to confirm the fix works well. Thank you very much for this! I've also run F-Spot with --debug option and I noticed number of exception are thrown, but no errors reported by UI nor crashes. It looks like nothing serious, but let me know if I should upload logs.
Please do, but put them into a new bug. Thanks for testing this!