Closed planevina closed 3 weeks ago
I tend to think that this is rather an issue with your mp3 files.
You could try if using a different min frame size helps using (setMinFrameBufferSize()). You can also activate the logging to verify what's going on in detail
I suggest that you do activate some heap checking to verify that your selected sizes are not leading to any memory corruptions.
Thanks for your reply. I try to change MP3_MIN_FRAME_SIZE from 1024 to 2048 , It have no effect.
All 320k 48000hz mp3 can not play . some 320k 44100 mp3 can play. (In 0.8.1 ,all of them can play ).
Now I fallback to 0.8.1. And I will use 0.8.3 to get debug log , if they can come in handy.
[I] [APP] Now play music index:1 [I] [DAC] Playing : S:/music/Camilla (Feat. STARRYSKY).mp3 libhelix - write 4096 libhelix - writeChunk 1024 libhelix - writeArray 1024 -> 1024 libhelix - writeChunk 1024 libhelix - writeArray 1024 -> 1024 libhelix - removing: 21 bytes libhelix - decode: 2027 libhelix - rc: 0 - available 2027 - pos 57 libhelix - writeChunk 1024 libhelix - writeArray 1024 -> 1024 libhelix - decode: 3051 libhelix - rc: 0 - available 3051 - pos 57 libhelix - writeChunk 1024 libhelix - writeArray 1024 -> 1024 libhelix - decode: 4075 libhelix - rc: 0 - available 4075 - pos 57 libhelix - removing: 57 bytes libhelix - rc: 0 - available 4018 libhelix - removing: 8 bytes libhelix - decode: 4010 libhelix - rc: 0 - available 4010 - pos 162 libhelix - removing: 162 bytes libhelix - rc: 0 - available 3848 libhelix - removing: 8 bytes libhelix - decode: 3840 libhelix - rc: 0 - available 3840 - pos 55 libhelix - removing: 55 bytes libhelix - rc: 0 - available 3785 libhelix - removing: 8 bytes libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0 libhelix - rc: 0 - available 3777 libhelix - decode: 3777 libhelix - rc: 0 - available 3777 - pos 0
can you share one of your mp3 files that does not work ?
can you share one of your mp3 files that does not work ? Yes ,it is.
I committed a correction that moves to the next segment if there is a decoding error. I also added some more debugging information.
Thank you for the swift update, I apologize for the late reply. The new version can run normally, thank you.
define MP3_MAX_OUTPUT_SIZE 2048 * 5
define MP3_MAX_FRAME_SIZE 3200
In ver 0.8.1 , it works good. In ver 0.8.3 , it will stuck in " mp3.write(_mp3_frame, r);" " int rc = MP3Decode(decoder, &data, &bytes_left, (short *)pcm_buffer.data(), mp3_type);" return ERR_MP3_INVALID_SCALEFACT error.
environment: ESP32S3 with 8MB psram. Arduino 3.0.1