I do not get this error on 32bit builds, and I don't get the error in VS2008 in at all. We want to use VS2012 because IntroJucer doesn't create x64 configurations for VS2008.
I doubt whether that's even possible - the memory-mapping only really makes sense for formats where there's a 1:1 mapping between some bytes in the file and some sample values.
It is possible, I know of at least 2 apps which stream FLAC based audio. This is for sample playback where you know the encoded FLAC file has a fixed block size.
What do you mean by stream? Sure you can FIFO compressed formats but I think the problem is the seek. Without a 1:1 mapping how do you know which parts of the file to map into memory?
To be honest though as FLAC is compressed why don't you just created a memory mapped file and map the whole thing? Then can you just create a MemoryInputStream to the MemoryMappedFile::getData() and read it as if it was in memory? You might run out of address space for large files but smallish ones should be ok? Or have I missed something here?