///|
pub fn fixture_pcm32_mono() -> Array[Int] {
let payload = [0, 0, 0, 0, 255, 255, 255, 127, 0, 0, 0, 128]
let body = concat_arrays(fmt_chunk(1, 1, 44100, 32), data_chunk(payload))
concat_arrays(riff_prefix(4 + body.length()), body)
}
///|
pub fn fixture_with_unknown_chunk() -> Array[Int] {
let junk_payload = [1, 2, 3]
let junk = [
74,
85,
78,
75,
junk_payload.length() & 0xff,
(junk_payload.length() >> 8) & 0xff,
0,
0,
]
for byte in junk_payload {
junk.push(byte)
}
if junk_payload.length() % 2 != 0 {
junk.push(0)
}
let payload = [0, 0, 1, 0]
let body = concat3(fmt_chunk(1, 1, 8000, 16), junk, data_chunk(payload))
concat_arrays(riff_prefix(4 + body.length()), body)
}
///|
pub fn fixture_low_sample_rate() -> Array[Int] {
let payload = [0, 0, 1, 0]
let body = concat_arrays(fmt_chunk(1, 1, 4000, 16), data_chunk(payload))
concat_arrays(riff_prefix(4 + body.length()), body)
}
///|
pub fn fixture_riff_size_mismatch() -> Array[Int] {
let payload = [0, 0, 1, 0]
let body = concat_arrays(fmt_chunk(1, 1, 8000, 16), data_chunk(payload))
concat_arrays(riff_prefix(999), body)
}
///|
pub fn fixture_stereo_phase_test() -> Array[Int] {
let payload = [0, 0, 0, 0, 0, 64, 0, 192, 0, 0, 0, 0]
let body = concat_arrays(fmt_chunk(1, 2, 8000, 16), data_chunk(payload))
concat_arrays(riff_prefix(4 + body.length()), body)
}
///|
pub fn fixture_tiny_silence() -> Array[Int] {
let payload = [0, 0, 0, 0, 0, 0, 0, 0]
let body = concat_arrays(fmt_chunk(1, 1, 8000, 16), data_chunk(payload))
concat_arrays(riff_prefix(4 + body.length()), body)
}
///|
pub fn fixture_quality_clipped() -> Array[Int] {
let payload = [255, 127, 0, 128, 255, 127, 0, 128]
let body = concat_arrays(fmt_chunk(1, 1, 8000, 16), data_chunk(payload))
concat_arrays(riff_prefix(4 + body.length()), body)
}