This version fixes a number of buffer overruns, integer overflows, and uses of uninitialised data which may be triggered by reading malformed files; all users are advised to upgrade.
- library can now easier be used as a CMake subproject
- new CMake option
BW64_PACKAGE_AND_INSTALL AxmlChunk::data(); this allows access to the internal string, avoiding a copy when readingBw64Writer::close(); this should be called before destruction to properly catch exceptions
- Renamed CMake library target name from
libbw64tobw64 - Renamed CMake option
UNIT_TESTStoBW64_UNIT_TESTS - Renamed CMake option
EXAMPLEStoBW64_EXAMPLES FormatInfoChunk::formatTagnow matches the formatTag in the file, rather than always returning 1- fmt parsing is stricter -- the chunk size must match the use of cbSize, and the presence if extra data is checked against the formatTag
- strings can be moved into
AxmlChunkwithstd::make_shared<AxmlChunk>(std:move(some_str)), to avoid a copy when writing
- Fix sample rate parameter type in
writeFile()andBW64Writerctor to support 96k samplerates - fmt extra data is now written correctly
- axml chunks greater than 4GB are now written correctly
- Additional unit tests
- Use
Catch2instead ofBoost.Testfor unit testing
- Fix
Bw64Reader::seek()andBw64Reader::tell()implementation - RIFF chunk size calculation
Initial release