Bug 4269 - Artwork not found - Embedded Artwork Error in WMA lossless
: Artwork not found - Embedded Artwork Error in WMA lossless
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Tagging
: 6.5.0
: PC Windows XP
: P2 minor (vote)
: ---
Assigned To: Dan Sully
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2006-10-01 02:59 UTC by luga
Modified: 2008-12-18 11:12 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments
WMA file with embedded artwork (4.48 MB, audio/x-ms-wma)
2006-10-02 14:00 UTC, luga
Details
stick header image data into proper place in hash (1.76 KB, patch)
2006-10-04 20:18 UTC, KDF
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description luga 2006-10-01 02:59:26 UTC
Some albums are not showing up in the gallery list (showing placeholder instead)

I've noticed that when opening these albums by clicking on them in the gallery, there is an exception in the debugger.
This could be the reason that placeholder artwork is used in the gallery view.


example.

Retrieving artwork (cover) for: file:///C:/Documents%20and%20Settings/Russ/My%20Documents/My%20Music/Austin%20Powers/Austin%20Powers/01%20The%20Magic%20Piper%20(Of%20Love).wma
readCoverArtTags: Looking for a cover art image in the tags of: [C:\Documents and Settings\Russ\My Documents\My Music\Austin Powers\Austin Powers\01 The Magic Piper (Of Love).wma]
ERROR: coverArt: Exception when trying to call readCoverArt() for [file:///C:/Documents%20and%20Settings/Russ/My%20Documents/My%20Music/Austin%20Powers/Austin%20Powers/01%20The%20Magic%20Piper%20(Of%20Love).wma] : [Can't use string (" 1") as a HASH ref while "strict refs" in use at C:\Program Files\SlimServer\server/Slim/Formats/WMA.pm line 94.
Comment 1 Chris Owens 2006-10-02 10:10:42 UTC
I don't see this issue.  Could I trouble you to attach one of your affected files to this bug?  Thanks.
Comment 2 luga 2006-10-02 14:00:28 UTC
Created attachment 1615 [details]
WMA file with embedded artwork

OK, sorry about the content - it's one of the kids nursery rhyme CD's.

This is a WMA lossless file with embedded artwork that throws up this exception..

Retrieving artwork (thumb) for: file:///C:/Documents%20and%20Settings/Russ/My%20Documents/My%20Music/Dreamland/Dreamland%20Nursery%20Chime%20Medley/01%20Sing%20a%20Song%20of%20Sixpence.wma
readCoverArtTags: Looking for a cover art image in the tags of: [C:\Documents and Settings\Russ\My Documents\My Music\Dreamland\Dreamland Nursery Chime Medley\01 Sing a Song of Sixpence.wma]
ERROR: coverArt: Exception when trying to call readCoverArt() for [file:///C:/Documents%20and%20Settings/Russ/My%20Documents/My%20Music/Dreamland/Dreamland%20Nursery%20Chime%20Medley/01%20Sing%20a%20Song%20of%20Sixpence.wma] : [Can't use string ("� 	") as a HASH ref while "strict refs" in use at C:\Program Files\SlimServer\server/Slim/Formats/WMA.pm line 94.
]
Comment 3 Chris Owens 2006-10-04 16:55:18 UTC
This artwork seems to show up fine in Media player (and media player's Advanced Tag Editor) but also gives me the hash error Luga describes in Slimserver, and displays only the "?" placeholder image.
Comment 4 Chris Owens 2006-10-04 16:55:48 UTC
Changed milestone and severity
Comment 5 KDF 2006-10-04 17:40:27 UTC
using Data::Dump, the $tags include:

 PICTURE                   => MIME::Base64::decode("A6YgCQBpAG0AYQBnAGU....)

thus, looks like the WMA files may now no longer contain a simple 'DATA' value, but instead might be direct mime encoded.
content does appear to have the JFIF header at least.

dropping ->{'DATA'} in both uses makes it work ok. huge image too.
Comment 6 KDF 2006-10-04 18:04:00 UTC
ah, seems the image time time is in the ASFHeaderExtensionObject, instead of the ASFExtendedContentDescriptionObject

so, the fix would be to split out the WM/Picture parsing to it's own function and call it from both ASF parsers.

I should be able to have this working tonight
Comment 7 KDF 2006-10-04 18:12:51 UTC
heh...if they were stored in the packaging, that is.  argh.
Comment 8 KDF 2006-10-04 20:18:28 UTC
Created attachment 1620 [details]
stick header image data into proper place in hash

seems to be very much unpacked in comparison.  just sticking $value into the DATA key does the trick.  the rest of the patch outside the line 741 region is just whitespace stuff.
Comment 9 luga 2006-10-05 12:00:20 UTC
Well, I took the 05/10 build last night and it still isn't fixd in that version. 
Can you let me know which build this fix will make it into.
cheers
Russ
Comment 10 KDF 2006-10-05 12:02:46 UTC
the nightly isn't expected to fix it.  the patch I submitted isn't necessarily the right fix, so I didn't do anything aside from posting it here.  When you see a notice mentioning the change numbers, that is when it is actually IN a build.
Comment 11 KDF 2006-11-24 22:25:05 UTC
committed to trunk at change 10750 
and to 6.5.1 at change 10751

please reopen if problems still exist
Comment 12 Chris Owens 2008-03-07 09:04:04 UTC
This bug is being closed since it was resolved for a version which is now released!  Please download the new version of SqueezeCenter (formerly SlimServer) at http://www.slimdevices.com/su_downloads.html

If you are still seeing this bug, please re-open it and we will consider it for a future release.
Comment 13 Tony Bricknell 2008-04-25 15:11:44 UTC
Fresh install of v7.0 r2097 on Linux CentOS 4.6 box, WMA lossless music stored on Terastation accessible via mount point on CentOS box.

Each album has folder.jpg in each directory, in addition to embedded artwork in the WMA files.

scanner.log is full of :

[08-04-25 22:15:42.9223] Slim::Schema::Track::coverArt (299) Error: Exception when trying to call readCoverArt() for [file:///mnt/music/Yello/Stella/01%20Desire.wma] : [Can't use string ("") as a HASH ref while "strict refs" in use at /usr/lib/perl5/vendor_perl/Slim/Formats/WMA.pm line 87.
]

for the first track of every album.  Gallery (and Duet remote) shows only placeholder artwork and not album artwork.
Comment 14 KDF 2008-04-25 15:22:54 UTC
This bug is closed.  Please open a new report and attach a sample file that exhibits the problem.