Results:
-Same errors when played without modification
-id3 and id3tool don't recognize the id3 tags, but id3v2 can remove them.
-mp3dec_opt plays the result nicely, at ~25% CPU on my 1.6GHz Atom N270.
-mp3dec plays the result, but runs ~66% CPU.
I'll try out the id3 tag stripper referred to.
UPDATE:
Yup, the id3 tag stripper works (meaning it removes enough); <unistd.h> should be added, though.
It does point out an issue with the PDMP3 code:
the API and code almost seem like they were designed to prevent use with pipes.
- rather than passing a file handle / descriptor, you copy a name to the global
Code: Select all
char filename[256]
- it apparently checks if it has hit the end of the file, via ftell(), rather than whether reading has failed; if ftell() fails, it is treated as an EOF.
- the overuse of globals results in the relevant code being rather well hidden.