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

Add option to handle ID3v1 tag #30

Open
grhbit opened this issue Apr 12, 2021 · 0 comments
Open

Add option to handle ID3v1 tag #30

grhbit opened this issue Apr 12, 2021 · 0 comments

Comments

@grhbit
Copy link

grhbit commented Apr 12, 2021

Hi,
I used this library through rodio.

But I found decoding operation of some my files were failed even if they are playable on other players.
I found that problem of my files, that is ID3v1.

I think that it seems that handling part for ID3v1 tag is not here.
How about adding option to handle ID3v1 tag?


More information is here.

According to minimp3's README, mp3dec_decode_frame will skip ID3 data.

The decoder will analyze the input buffer to properly sync with the MP3 stream, and will skip ID3 data, as well as any data which is not valid.

But they do not handle ID3v1 tag in mp3dec_decode_frame.

Hence, decoding some mp3 files having ID3v1 tag fail because they try parse tag data as sound data.

That also mentioned in README of minimp3.

At end of stream just pass rest of the buffer, sync procedure should work even with just 1 frame in stream (except for free format and garbage at the end can mess things up, so id3v1 and ape tags must be removed first).

Here is sample files contain ID3v1 tag.

id3v1-samples.tar.gz

These are related issues for your information

lieff/minimp3#57
lieff/minimp3#66

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

1 participant