Skip to content

APEv2 multivalued-tag doesn't parse correctly #631

@Linxuanhua1

Description

@Linxuanhua1

Reproducer

I tried this code:

    let source_path = path::PathBuf::from("./tests/encode_test_audio/ape_source.ape");


    let source_file = read_from_path(source_path).unwrap();

    let source_tag = source_file.first_tag().ok_or("源文件没有标签").unwrap();;

    for tag in source_tag.items(){
        println!("{:?}, {:?}", tag.key(), tag.value());
    }
<code>

this is the output:

TrackArtist, Text("むにょっ\0秋山裕和")

According to the Apev2 specification, multi-valued tags use \x00 as the spiltter
I think we should pass tags like this:

TrackArtist, Text("むにょっ")
TrackArtist, Text("秋山裕和")

Summary

As Above

Expected behavior

No response

Assets

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions