Bug 5720 - Gapless MP3 not possible if file has CRC
: Gapless MP3 not possible if file has CRC
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Audio
: 6.5.4
: PC Linux (other)
: P2 normal (vote)
: 7.x
Assigned To: Andy Grundman
http://forums.slimdevices.com/showthr...
:
Depends on:
Blocks: 8547
  Show dependency treegraph
 
Reported: 2007-10-08 06:21 UTC by Michael Herger
Modified: 2009-07-31 10:14 UTC (History)
4 users (show)

See Also:
Category: ---


Attachments
Small batch of MP3s created with dBpoweramp with CRC turned on (1.04 MB, application/zip)
2007-11-09 14:14 UTC, Spies Steven
Details
Small batch of MP3s created with dBpoweramp with CRC turned off (1.03 MB, application/zip)
2007-11-09 14:15 UTC, Spies Steven
Details
Patch (632 bytes, patch)
2008-06-23 14:38 UTC, Andy Grundman
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Herger 2007-10-08 06:21:43 UTC
A user in the German forum is reporting issues with gapless playback if there are CRC checksums in the MP3 file. 

SlimServer-Version: 6.5.3 - 12376 - Windows Server 2003 - DE - cp1252
SlimServer-Version: 6.5.4 - 12568 - Debian - DE - iso-8859-1
Version der Player-Firmware: 81
Comment 1 Chris Owens 2007-11-05 10:07:10 UTC
a file that displays this problem would be welcome
Comment 2 mundragor 2007-11-06 18:06:24 UTC
(In reply to comment #1)
> a file that displays this problem would be welcome
> 
here is a Example http://rapidshare.com/files/67966900/withCRC.zip

Comment 3 Spies Steven 2007-11-09 14:14:03 UTC
Created attachment 2396 [details]
Small batch of MP3s created with dBpoweramp with CRC turned on
Comment 4 Spies Steven 2007-11-09 14:15:00 UTC
Created attachment 2397 [details]
Small batch of MP3s created with dBpoweramp with CRC turned off
Comment 5 Spies Steven 2007-11-09 14:21:04 UTC
I created a small batch of gapless MP3s in dBpoweramp with the CRC option on and off.  The files with CRC present does have problems with gapless playback in SqueezeCenter but not the one without CRC.  According to dBpoweramp this is not a tag but data added to each frame of the MP3 file.  From the dBpoweramp help file: CRC Error Protection adds a checksum to each frame, a decoder is able to verify each frame has not corrupted, very few decoders use checksums.

The current workaround would be to disable the CRC option when creating MP3s in dBpoweramp.
Comment 6 Spies Steven 2007-11-09 15:48:51 UTC
Note the CRC option is available in LAME as '-p'
Comment 7 Richard Titmuss 2008-05-16 04:45:48 UTC
I have tested these files with SqueezePlay, and it looks like SC is not sending the full mp3 xing header when the mp3 files include the CRC.
Comment 8 Andy Grundman 2008-05-17 06:47:09 UTC
Hmm, these files don't have an offset defined so the entire file should be sent to the player.
Comment 9 Chris Owens 2008-06-23 10:14:23 UTC
Andy says he will look at this again now that he has a dongle.
Comment 10 Andy Grundman 2008-06-23 13:17:44 UTC
The Xing header is parsed with:

xing_parse(decoder->stream.anc_ptr, decoder->stream.anc_bitlen);

When CRC is present, decoder->stream.anc_ptr is pointing two bytes too far, at 'ng' instead of 'Xing'.  Is this a MAD bug?
Comment 11 Richard Titmuss 2008-06-23 13:49:06 UTC
It may be, or a bug in the mad port. Can you try with Squeezeplay 7.2, does the xing_parse function get the correct data in this case?
Comment 13 Andy Grundman 2008-06-23 14:38:58 UTC
Created attachment 3478 [details]
Patch
Comment 14 Andy Grundman 2008-06-24 06:46:47 UTC
Fixed in r4399.
Comment 15 Chris Owens 2008-07-30 15:26:36 UTC
This bug has now been fixed in the 7.1 release version of SqueezeCenter!  Please download the new version from http://www.slimdevices.com if you haven't already.  

If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.
Comment 16 Chris Owens 2009-07-31 10:14:57 UTC
Reduce number of active targets for SC