Bug 11803 - When a WAV format file contains multiple tag types (e.g., both RIFF and IDV3.2), SqueezeCenter does not prioritise which tag to use
: When a WAV format file contains multiple tag types (e.g., both RIFF and IDV3....
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Tagging
: unspecified
: PC Windows Vista
: -- normal (vote)
: 7.4.0
Assigned To: Andy Grundman
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-04-15 04:27 UTC by Robert
Modified: 2009-10-08 09:27 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments
A WAVE format music file containing both RIFF and IDv3.2 tags (1.87 MB, application/octet-stream)
2009-04-15 04:27 UTC, Robert
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert 2009-04-15 04:27:49 UTC
Created attachment 5124 [details]
A WAVE format music file containing both RIFF and IDv3.2 tags

If a WAVE format music file contains multiple tags, such as containing a RIFF compliant LIST INFO chuck (with INAM, IART, IGNR etc. tags) and the WAVE file also contains an ID32 chuck comprising IDv3.2 tags (such as TYER, TPE1 etc.), SqueezeCenter appears to either favour the older RIFF tag OR more likely, it favours the first tag set it encounters.

However, I would propose that SqueezeCenter should prioritise the tag sets and where multiple tags exist it should select and utilise richer tag sets over older (antiquated) tag sets; so in this example favouring IDv3.2 tags over RIFF tags as IDv3.2 tags are likely to contain superior information.

I have attached a small WAVE format file that contains both a LIST INFO chunk (i.e., a RIFF compliant tag) and also contains an ID32 chunk (i.e., an IDv3.2 compliant tag).

In the attached file, the order of data is:

WAV header
WAV Audio Data chuck
LIST INFO chunk
ID32 chunk

For reference, the attached file has been validated by Microsoft's RiffWalk.exe tool and also works in SqueezeCenter 7.3.2 (although it shows information from the older RIFF tag).
Comment 1 Robert 2009-04-15 05:47:18 UTC
Further to the above comments, I have now also tried reversing the order of the tags in the WAVE file (i.e., making the ID32 chunk appear in the file BEFORE the LIST INFO chunk (i.e., containing the RIFF tags) and can confirm that SqueezeCenter still utilises the RIFF tags.

Therefore, SqueezeCenter definitely prioritises older tags (RIFF tags) over IDv3.2 tags, regardless of where they appear in the WAVE file.
Comment 2 Andy Grundman 2009-05-04 09:41:53 UTC
I agree, and in fact WAV scanning has already been changed for 7.4 and will prefer ID3v2 tags over INFO tags.  This is currently in the noweb-sqlite branch only.
Comment 3 James Richardson 2009-10-05 14:31:52 UTC
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server!
    * SqueezeCenter: 28672
    * Squeezebox 2 and 3: 130
    * Transporter: 80
    * Receiver: 65
    * Boom: 50
    * Controller: 7790
    * Radio: 7790  

Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes

If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.
Comment 4 Jim McAtee 2009-10-07 03:07:17 UTC
Andy, can you confirm whether or not this fix was merged into 7.4 from the SQLite branch?
Comment 5 Andy Grundman 2009-10-08 09:27:57 UTC
Yes, both tag types are read and ID3v2 is preferred over RIFF tags.