Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AIFF decoder issues: Toisto AIFF test suite results #309

Open
karip opened this issue Aug 14, 2024 · 1 comment
Open

AIFF decoder issues: Toisto AIFF test suite results #309

karip opened this issue Aug 14, 2024 · 1 comment

Comments

@karip
Copy link

karip commented Aug 14, 2024

I have written an AIFF test suite and I tested symphonia AIFF implementation with it.

Here's a summary of the results for symphonia 0.5.4.

Note that there are also some "false" failures. For instance, there is a test which assumes sample rate values to support decimal values (5298.25), but symphonia only supports integer values (5298). I think it is ok for symphonia to support only integer values, so that test case gives a "false" failure.

Here's details for all 153 tests (many fail because they have 4411 samples, but symphonia returns 4412 samples).
Testing command: tools/symphonia-rs-tester/target/debug/symphonia-rs-tester
OK    : tests/aifc/aifc-channels-2-fl32.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

OK    : tests/aifc/aifc-channels-4.aifc
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aifc/aifc-chunk-fllr.aifc
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aifc/aifc-chunk-ssnd-before-comm-fver.aifc
* MAKE CODEC ERROR: Unsupported("core (codec):unsupported codec")
 - process returned non-zero exit status: 6

FAIL  : tests/aifc/aifc-chunk-unknown-size-zero.aifc
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aifc/aifc-chunk-unknown.aifc
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aifc/aifc-samplerate-8912.75.aifc
 - unsupported: format
 - values differ for "sampleRate", got: '8912', expected: '8912.75'
 - unsupported: codec

FAIL  : tests/aifc/aifc-type-23ni.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

OK    : tests/aifc/aifc-type-fl32-nan-inf.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

FAIL  : tests/aifc/aifc-type-fl32-uppercase.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

OK    : tests/aifc/aifc-type-fl32-wide-range.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

OK    : tests/aifc/aifc-type-fl32.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

OK    : tests/aifc/aifc-type-fl64-nan-inf.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

FAIL  : tests/aifc/aifc-type-fl64-uppercase.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

OK    : tests/aifc/aifc-type-fl64-wide-range.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

OK    : tests/aifc/aifc-type-fl64.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

FAIL  : tests/aifc/aifc-type-in24.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/aifc/aifc-type-in32.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/aifc/aifc-type-none-samplesize-12.aifc
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

OK    : tests/aifc/aifc-type-none-samplesize-16.aifc
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aifc/aifc-type-none-samplesize-23.aifc
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

OK    : tests/aifc/aifc-type-none-samplesize-24.aifc
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aifc/aifc-type-none-samplesize-31.aifc
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

OK    : tests/aifc/aifc-type-none-samplesize-32.aifc
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aifc/aifc-type-none-samplesize-5.aifc
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

FAIL  : tests/aifc/aifc-type-none-samplesize-8.aifc
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aifc/aifc-type-raw-u8.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

OK    : tests/aifc/aifc-type-sowt.aifc
 - unsupported: format
 - unsupported: codec

OK    : tests/aifc/aifc-type-twos.aifc
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aiff/aiff-channels-1.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

OK    : tests/aiff/aiff-channels-10.aiff
 - unsupported: format
 - unsupported: codec

OK    : tests/aiff/aiff-channels-2-bei16.aiff
 - unsupported: format
 - unsupported: codec

OK    : tests/aiff/aiff-channels-2.aiff
 - unsupported: format
 - unsupported: codec

OK    : tests/aiff/aiff-channels-4.aiff
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aiff/aiff-chunk-aesd.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-anno-two.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-anno.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-appl-two.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-appl.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-auth.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

OK    : tests/aiff/aiff-chunk-chan.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks

FAIL  : tests/aiff/aiff-chunk-comments-one.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-comments-ref-marker.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-comments-two.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-comments-zero.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-copy.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-fllr.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-hash.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-inst.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-markers-zero.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-markers.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4411', expected: '4410'
 - values differ for "endSamples", channel 0, index 0, got: 219130983.0, expected: 176278702

FAIL  : tests/aiff/aiff-chunk-midi-two.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4419', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 54.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-midi.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-name.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-chunk-ssnd-before-comm.aiff
* MAKE CODEC ERROR: Unsupported("core (codec):unsupported codec")
 - process returned non-zero exit status: 6

FAIL  : tests/aiff/aiff-chunk-ssnd-blocksize.aiff
* PROBE ERROR: Unsupported("riff: No support for AIFF block-aligned data")
 - process returned non-zero exit status: 4

FAIL  : tests/aiff/aiff-chunk-ssnd-missing.aiff
* PROBE ERROR: Unsupported("aiff: missing sound chunk")
 - process returned non-zero exit status: 4

FAIL  : tests/aiff/aiff-chunk-ssnd-offset-blocksize.aiff
* PROBE ERROR: Unsupported("riff: No support for AIFF block-aligned data")
 - process returned non-zero exit status: 4

FAIL  : tests/aiff/aiff-chunk-ssnd-offset.aiff
* PROBE ERROR: Unsupported("riff: No support for AIFF block-aligned data")
 - process returned non-zero exit status: 4

FAIL  : tests/aiff/aiff-chunk-ssnd-samples-one.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '2', expected: '1'

OK    : tests/aiff/aiff-chunk-ssnd-samples-zero.aiff
 - unsupported: format
 - unsupported: codec

OK    : tests/aiff/aiff-chunk-ssnd-vs-sampleframes.aiff
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aiff/aiff-samplerate-0.01.aiff
thread 'main' panicked at /Users/kari/.cargo/registry/src/index.crates.io-6f17d22bba15001f/symphonia-core-0.5.4/src/units.rs:150:13:
TimeBase cannot have 0 numerator or denominator
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
 - process returned non-zero exit status: 101

OK    : tests/aiff/aiff-samplerate-1.aiff
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aiff/aiff-samplerate-11025.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '1104', expected: '1103'
 - values differ for "endSamples", channel 0, index 0, got: 11.0, expected: 1

OK    : tests/aiff/aiff-samplerate-22050.aiff
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aiff/aiff-samplerate-2900000.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '29002', expected: '29001'
 - values differ for "endSamples", channel 0, index 13, got: -26.0, expected: -27

FAIL  : tests/aiff/aiff-samplerate-384000.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '38402', expected: '38401'
 - values differ for "endSamples", channel 0, index 1, got: 118.0, expected: 117

FAIL  : tests/aiff/aiff-samplerate-44100.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/aiff/aiff-samplerate-5298.25.aiff
 - unsupported: format
 - values differ for "sampleRate", got: '5298', expected: '5298.25'
 - unsupported: codec

FAIL  : tests/aiff/aiff-samplesize-1.aiff
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

FAIL  : tests/aiff/aiff-samplesize-12.aiff
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

OK    : tests/aiff/aiff-samplesize-16.aiff
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aiff/aiff-samplesize-20.aiff
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

OK    : tests/aiff/aiff-samplesize-24.aiff
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aiff/aiff-samplesize-29.aiff
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

OK    : tests/aiff/aiff-samplesize-32.aiff
 - unsupported: format
 - unsupported: codec

FAIL  : tests/aiff/aiff-samplesize-4.aiff
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

FAIL  : tests/aiff/aiff-samplesize-8.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

FAIL  : tests/compressed/compressed-alaw-ch1.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 9472.0, expected: 8448

OK    : tests/compressed/compressed-alaw-ch2.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

OK    : tests/compressed/compressed-alaw-uppercase.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

FAIL  : tests/compressed/compressed-dwvw-16bit.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-dwvw-24bit.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-g722-ch1.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-g722-ch2.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-g722-ch3.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-gsm.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-ima4-ch1.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-ima4-ch2.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-mac3-ch1.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-mac3-ch2.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-mac6-ch1.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-mac6-ch2.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-qclp.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-qdm2-ch1.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-qdm2-ch2.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-qdmc-ch1.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-qdmc-ch2.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/compressed/compressed-ulaw-ch1.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 9340.0, expected: 8828

OK    : tests/compressed/compressed-ulaw-ch2.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

OK    : tests/compressed/compressed-ulaw-uppercase.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

FAIL  : tests/exported/audacity-i8-id3.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4415', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 23.0, expected: 12

OK    : tests/exported/audacity-i8.aiff
 - unsupported: format
 - unsupported: codec

FAIL  : tests/exported/audacity-ima-adpcm.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

FAIL  : tests/exported/ffmpeg-id3-cover-art.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4413', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 4651.0, expected: 3344

FAIL  : tests/exported/ffmpeg-id3.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4415', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 11190.0, expected: 8575

OK    : tests/exported/ffmpeg-metadata.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks

FAIL  : tests/exported/finder-codec-sowt.aifc
* PROBE ERROR: Unsupported("riff: No support for AIFF block-aligned data")
 - process returned non-zero exit status: 4

FAIL  : tests/exported/garageband-16-bit.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4410'
 - values differ for "endSamples", channel 0, index 0, got: 4766.0, expected: 3497

FAIL  : tests/exported/garageband-24-bit.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4411', expected: '4410'
 - values differ for "endSamples", channel 0, index 0, got: 1064577.0, expected: 895356

FAIL  : tests/exported/garageband-cyclemarker.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4411', expected: '4410'
 - values differ for "endSamples", channel 0, index 29, got: 4998999.0, expected: 0

OK    : tests/exported/imovie.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks

FAIL  : tests/exported/itunes-16bit-stereo.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '264602', expected: '264600'
 - values differ for "endSamples", channel 0, index 0, got: -16778.0, expected: -18086

FAIL  : tests/exported/itunes-8bit-mono.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '264608', expected: '264600'
 - values differ for "endSamples", channel 0, index 0, got: -61.0, expected: -81

OK    : tests/exported/motion.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize
 - unsupported: chunks

OK    : tests/exported/python3-alaw.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

OK    : tests/exported/python3-ulaw.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

OK    : tests/exported/quicktime5-alaw.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

FAIL  : tests/exported/quicktime5-fl32.aifc
* PROBE ERROR: DecodeError("aifc: bits per sample for fmt_ieee must be 32 or 64 bits")
 - process returned non-zero exit status: 4

FAIL  : tests/exported/quicktime5-fl64.aifc
* PROBE ERROR: DecodeError("aifc: bits per sample for fmt_ieee must be 32 or 64 bits")
 - process returned non-zero exit status: 4

OK    : tests/exported/quicktime5-samplesize-16.aiff
 - unsupported: format
 - unsupported: codec

OK    : tests/exported/quicktime5-samplesize-24.aiff
 - unsupported: format
 - unsupported: codec

OK    : tests/exported/quicktime5-samplesize-32.aiff
 - unsupported: format
 - unsupported: codec

OK    : tests/exported/quicktime5-samplesize-8.aiff
 - unsupported: format
 - unsupported: codec

OK    : tests/exported/quicktime5-ulaw.aifc
 - unsupported: format
 - unsupported: codec
 - unsupported: sampleSize

(FAIL): tests/invalid/invalid-aifc-no-comm.aifc
* MAKE CODEC ERROR: Unsupported("core (codec):unsupported codec")
 - process returned non-zero exit status: 6

(FAIL): tests/invalid/invalid-aiff-no-comm.aiff
* MAKE CODEC ERROR: Unsupported("core (codec):unsupported codec")
 - process returned non-zero exit status: 6

(FAIL): tests/invalid/invalid-channels-0.aiff
* PROBE ERROR: DecodeError("riff: invalid channel count")
 - process returned non-zero exit status: 4

(FAIL): tests/invalid/invalid-chunk-comm-short.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

(FAIL): tests/invalid/invalid-chunk-comt-twice.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

(FAIL): tests/invalid/invalid-chunk-id.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

(FAIL): tests/invalid/invalid-chunk-id3-twice.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4415', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 23.0, expected: 12

(FAIL): tests/invalid/invalid-chunk-mark-twice.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4411', expected: '4410'
 - values differ for "endSamples", channel 0, index 0, got: 219130983.0, expected: 176278702

(FAIL): tests/invalid/invalid-compression-type.aifc
* PROBE ERROR: Unsupported("aifc: Compression type not implemented")
 - process returned non-zero exit status: 4

(FAIL): tests/invalid/invalid-double-comm-ssnd.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '520', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 79.0, expected: 33

(FAIL): tests/invalid/invalid-extra-garbage-at-end.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4413', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 647653824.0, expected: 561949248

(FAIL): tests/invalid/invalid-extra-ssnd-after-form-end.aiff
* PROBE ERROR: Unsupported("aiff: missing sound chunk")
 - process returned non-zero exit status: 4

(FAIL): tests/invalid/invalid-file-too-short.aiff
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '2034', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 1781291392.0, expected: 0

(FAIL): tests/invalid/invalid-fver-bad-value.aifc
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

(FAIL): tests/invalid/invalid-no-fver.aifc
 - unsupported: format
 - unsupported: codec
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

(FAIL): tests/invalid/invalid-samplerate-0.aiff
thread 'main' panicked at /Users/kari/.cargo/registry/src/index.crates.io-6f17d22bba15001f/symphonia-core-0.5.4/src/units.rs:150:13:
TimeBase cannot have 0 numerator or denominator
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
 - process returned non-zero exit status: 101

(FAIL): tests/invalid/invalid-samplerate-inf.aiff
thread 'main' panicked at /Users/kari/.cargo/registry/src/index.crates.io-6f17d22bba15001f/symphonia-core-0.5.4/src/units.rs:150:13:
TimeBase cannot have 0 numerator or denominator
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
 - process returned non-zero exit status: 101

(FAIL): tests/invalid/invalid-samplerate-nan.aiff
thread 'main' panicked at /Users/kari/.cargo/registry/src/index.crates.io-6f17d22bba15001f/symphonia-core-0.5.4/src/units.rs:150:13:
TimeBase cannot have 0 numerator or denominator
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
 - process returned non-zero exit status: 101

(FAIL): tests/invalid/invalid-samplesize-0.aiff
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

(FAIL): tests/invalid/invalid-samplesize-33.aiff
* PROBE ERROR: DecodeError("aiff: bits per sample for pcm must be 8, 16, 24 or 32 bits")
 - process returned non-zero exit status: 4

(FAIL): tests/invalid/invalid-ssnd-large-size.aiff
* PROBE ERROR: DecodeError("riff: chunk length exceeds parent (list) chunk length")
 - process returned non-zero exit status: 4

(FAIL): tests/invalid/unspecified-chunk-anno-non-ascii.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

(FAIL): tests/invalid/unspecified-chunk-auth-non-ascii.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

(FAIL): tests/invalid/unspecified-chunk-comments-non-ascii.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

(FAIL): tests/invalid/unspecified-chunk-copy-non-ascii.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

(FAIL): tests/invalid/unspecified-chunk-markers-non-ascii.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4418', expected: '4410'
 - values differ for "endSamples", channel 0, index 0, got: 50.0, expected: 30

(FAIL): tests/invalid/unspecified-chunk-name-non-ascii.aiff
 - unsupported: format
 - unsupported: codec
 - unsupported: chunks
 - values differ for "samplesPerChannel", got: '4412', expected: '4411'
 - values differ for "endSamples", channel 0, index 0, got: 36.0, expected: 33

Total 153: 41 passed, 85 failed, 27 ignored.

For comparison, here's results for macOS AudioToolbox framework, which I consider to be the reference AIFF implementation. I have also written a Rust AIFC reader, which passes most of the tests.

You can run the test suite yourself by building the symphonia tester code and running the test suite like this (requires python3):

  • copy the source code for the symphonia tester to your local computer as symphonia-rs-tester.rs
  • install cargo-single cargo install cargo-single
  • compile the tester: cargo single run symphonia-rs-tester.rs
  • clone the test suite and run it:
git clone https://github.com/karip/toisto-aiff-test-suite.git
cd toisto-aiff-test-suite
python3 toisto-runner.py -v -c path-to-tester/symphonia-rs-tester/target/debug/symphonia-rs-tester
@pdeljanov
Copy link
Owner

@dedobbin Do you want to take a look at this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants