By specification, WAV file stores numbers in unsigned format with some offset values added when bits-per-sample is less than (or equal to) 8.
For 24-bit, some parser functions had assert-statement to verify bits_per_sample <= MAX_BITS_PER_SAMPLE that is 24. However, this assumption is wrong for SubFrames of side-channels.
For fixing this bug, this commits does:
perform u8+offset to i8 in HoundSource.
MD5 check is introduced to "flacenc-bin"
integration test now can output intermediate file to a specified directory for debugging.
a test added for arrayutils::le_bytes_to_i32s (found out not to be a bug of this function, though)
changed assert-statement to check bits_per_sample <= MAX_BITS_PER_SAMPLE + 1
By specification, WAV file stores numbers in unsigned format with some offset values added when bits-per-sample is less than (or equal to) 8.
For 24-bit, some parser functions had assert-statement to verify
bits_per_sample <= MAX_BITS_PER_SAMPLE
that is 24. However, this assumption is wrong forSubFrames
of side-channels.For fixing this bug, this commits does:
HoundSource
.arrayutils::le_bytes_to_i32s
(found out not to be a bug of this function, though)bits_per_sample <= MAX_BITS_PER_SAMPLE + 1