write_u32(headbuf + 4, size - 8);
memcpy(headbuf + 8, "WAVE", 4);
memcpy(headbuf + 12, "fmt ", 4);
- write_u32(headbuf + 16, 16);
- write_u16(headbuf + 20, 1); /* format */
+ write_u32(headbuf + 16, 16); /* 16 + extra format bytes (zero) */
+ write_u16(headbuf + 20, 1); /* format (1 == PCM/uncompressed) */
write_u16(headbuf + 22, channels);
write_u32(headbuf + 24, samplerate);
write_u32(headbuf + 28, bytespersec);
- write_u16(headbuf + 32, align);
- write_u16(headbuf + 34, BITS);
- memcpy(headbuf + 36, "data", 4);
- write_u32(headbuf + 40, size - 44);
+ write_u16(headbuf + 32, align); /* number of bytes per sample slice */
+ write_u16(headbuf + 34, BITS); /* significant bits per sample */
+ memcpy(headbuf + 36, "data", 4); /* chunk ID */
+ write_u32(headbuf + 40, size - 44); /* chunk size */
}
static ssize_t wav_convert(char *inbuf, size_t len, struct filter_node *fn)