support padding byte on wav encoder

adpcm
Dimitri Diakopoulos 11 years ago
parent 301f7c7e4a
commit 8168b1fc92

@ -112,6 +112,12 @@ static inline uint64_t Swap64(uint64_t value)
((value & 0xff00000000000000LL) >> 56)); ((value & 0xff00000000000000LL) >> 56));
} }
inline bool isOdd(const uint32_t x)
{
return (x & 0x1);
}
#ifdef ARCH_CPU_LITTLE_ENDIAN #ifdef ARCH_CPU_LITTLE_ENDIAN
#define Read16(n) (n) #define Read16(n) (n)
#define Read24(n) (n) #define Read24(n) (n)

@ -125,6 +125,12 @@ int WavEncoder::WriteFile(const EncoderParams p, const AudioData * d, const std:
fout.write(reinterpret_cast<const char*>(d->samples.data()), samplesSizeInBytes); fout.write(reinterpret_cast<const char*>(d->samples.data()), samplesSizeInBytes);
} }
// Padding byte
if (isOdd(samplesSizeInBytes))
{
fout.write(reinterpret_cast<const char *>(1), 1);
}
// Find size // Find size
long totalSize = fout.tellp(); long totalSize = fout.tellp();

Loading…
Cancel
Save