Skip to content

Re-encoding: behaviour of --no-keep-foreign-metadata and --keep-foreign-metadata #922

Description

@H2Swine

I argue that current behaviour is not what users who apply the options would expect ... to the extent any user manually gives foreign metadata commands at all.

Wish for:

  • Command flac infile.flac -o outfile.flac --no-keep-foreign-metadata to discard the APPLICATION block with foreign metadata. It stands to reason that users who give such a command, want precisely that. Current behaviour: transfers the block, option means nothing.
  • The default should remain to keep any APPLICATION blocks that might be present, but not to give errors in the user's face upon flac infile.flac -o outfile.flac --keep-foreign-metadata-if-present. What else could the user have intended by this command?

Solution:

  • When input is a FLAC file, interpret everything about "foreign metadata" not to be the FLAC file-level metadata, but foreign metadata in an APPLICATION block. Error messages will follow suit, but:
  • If user gives flac infile.flac -o outfile.flac --keep-foreign-metadata-if-present, return also an INFO that this is indeed default behaviour.

Related:
I think it stands to reason that users who has saved foreign metadata into a .flac file, want those data to be retained upon decoding, as default. Sure it enables injecting privacy-compromising metadata - exactly what is already the behaviour when re-encoding preserves APPLICATION blocks.

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