Skip to content

--force-aiff-c-sowt-format results in non-interoperable files unless the original sample size is 16 bits #901

@jkcalhoun

Description

@jkcalhoun

The 'sowt' data format was defined by the old Macintosh Sound Manager as follows:

k16BitLittleEndianFormat      = 'sowt',		/*16-bit little endian*/

and this is how it's interpreted when encountered in an AIFF-C by multiple parsers, including Apple's for macOS and iOS.

Via use of --force-aiff-c-sowt-format the flac tool can be used to write an AIFF-C file indicating the 'sowt' data format regardless of sample size, and this can result in in 24- or 32-bit LPCM being interpreted as 16-bit.

Interoperable carriage in AIFF-C of little-endian 24- and 32-bit LPCM has apparently never been well documented, but it's definitely not via use of 'sowt'. It's probably better for the flac tool to fail if directed via --force-aiff-c-sowt-format to write 24- or 32-bit LPCM.

(It's possible to gain interoperability with libsndfile by writing '42ni' instead of 'sowt' as the AIFF-C "compression type" for 24-bit little endian and '23ni' for 32-bit little-endian.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions