Skip to content

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

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions