Bugzilla – Bug 17163
24/96 AIFF Files do not play only hiss
Last modified: 2014-07-13 07:39:22 UTC
Created attachment 7236 [details] This is the settings that have hiss for AIFF 24/96 files. Squeezebox Server - Software Version - Version: 7.5.4 - r32171 on ReadyNAS Ultra 2 Plus Player Model: Squeezebox Touch Firmware: 7.5.4-r9408 With Server Settings to play AIFF files natively and not convert to FLAC, 24/96 files do not play... only hiss. When manually converting the files to FLAC and setting the Server to convert to PCM, they play perfectly. Not sure if this is a problem on Touch or Server.
Version is 7.5.4 Same problem on ReadyNAS x86, OS X 10.6.8, and Windows 7 version
I can confirm this with the latest 7.7.2. Played natively, 24/96 AIFF files produce white noise on the Touch.
Also see bug 17862. I've found that standard redbook 16/44.1 AIFF files play fine natively on both the Touch and Transporter.
I think the problem is that Audio::Scan is off by 8 bytes in the start of the audio header for aiff. From http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/AIFF/Docs/AIFF-1.3.pdf: #define SoundDataID 'SSND' /* ckID for Sound Data Chunk */ typedef struct { ID ckID; long ckSize; unsigned long offset; unsigned long blockSize; unsigned char soundData[]; } SoundDataChunk; So need something like this to avoid treating the offset and blockSize as audiodata: --- src/wav.c (revision 904) +++ src/wav.c (working copy) @@ -387,7 +387,19 @@ // Seek past SSND, everything else we parse // XXX: Are there other large chunks we should ignore? if ( !strcmp( chunk_id, "SSND" ) ) { - my_hv_store( info, "audio_offset", newSVuv(offset) ); + + unsigned ssnd_offset, ssnd_blocksize; + + if ( !_check_buf(infile, buf, 8, WAV_BLOCK_SIZE) ) { + return; + } + + ssnd_offset = buffer_get_int(buf); + ssnd_blocksize = buffer_get_int(buf); + + DEBUG_TRACE("SSND offset: %u block size: %u\n", ssnd_offset, ssnd_blocksize); + + my_hv_store( info, "audio_offset", newSVuv(offset + 8 + ssnd_offset) ); my_hv_store( info, "audio_size", newSVuv(chunk_size) ); // Seek past data if there are more chunks after it
Workaround for server until Audio::Scan gets fixed: --- Slim/Formats/AIFF.pm (revision 33869) +++ Slim/Formats/AIFF.pm (working copy) @@ -56,7 +56,9 @@ return unless $info->{song_length_ms}; # Add file info - $tags->{OFFSET} = $info->{audio_offset}; + # BUG 17163 - workaround until Audio::Scan gets fixed: add 8 bytes to audio_offset + $tags->{OFFSET} = $info->{audio_offset} + 8; + $tags->{SIZE} = $info->{audio_size}; $tags->{SECS} = $info->{song_length_ms} / 1000; $tags->{RATE} = $info->{samplerate};
Why hasn't this been checked in?
Yeah why not check in this and swat this bug too ?
I believe this is fixed in Audio::Scan 0.94 and 0.95 - which should be part of 7.9 for several platforms.
Testing on my setup . Yes I played a 24/96 Aiff file natively with the latest 7.9 (you need to change some file types settings to make LMS do it ,but thats expected ) So in my pow this is fixed ,anyone else care to try to get more confidence that this is really fixed . Windows or MAc user ? (I use Linux ) .
Hello, i installed lms7.9 on a Synology 713+ with SSODS4.14 but not sure what is the audio library version it seems that the 0.94 or 0.95 is not on all versions : how to check ? Thanks
The new version of Audio::Scan has not been build for several of the more obscure devices - you should be able to see the version installed on the server information page. You need 0.94 or 0.95 for this to work.
Hello, even with LMS7.9 and audio:scan 0.95 on a synology 713+, AIFF does not still work (only hiss). Need to transcode to flac to play.
(In reply to comment #13) > Hello, even with LMS7.9 and audio:scan 0.95 on a synology 713+, AIFF does > not still work (only hiss). Need to transcode to flac to play. Did you do a full rescan after you installed 7.9 ?
Hello, In fact i used to have LMS7.8 and upgraded through ssods to lms7.9 without cpan. But it does not work. So I upgraded to full LMS7.9 and did not rescan and I have the issue. My problem is that the scan with LMS7.9 without cpan works but the scan with full LMS7.9 bug (see the bug track I opened : https://bugs-archive.lyrion.org/show_bug.cgi?id=18105). So LMs7.9 is installed but not able to rescan.... Thanks for your support
(In reply to comment #15) > Hello, In fact i used to have LMS7.8 and upgraded through ssods to lms7.9 > without cpan. But it does not work. So I upgraded to full LMS7.9 and did not > rescan and I have the issue. My problem is that the scan with LMS7.9 without > cpan works but the scan with full LMS7.9 bug (see the bug track I opened : > https://bugs-archive.lyrion.org/show_bug.cgi?id=18105). So LMs7.9 is installed > but not able to rescan.... > Thanks for your support Yes , that's probably your problem a working 7.9 install in Linux does work just fine . Sugest you solve your 7.9 scan problem first
You are right, I need to solve it first !