Unable to play an M4A file #2055
-
I'm trying to play files over FTP using a MultiDecoder. It works fine with MP3 and WAV:
However M4A despite determining the type correctly I only get boinks and farts, and the decoder seems to be very confused:
I have also found the ContainerMP4 class, but using that instead of the AAC Helix codec just gives me silence and the whole system appears frozen. Is there no solution to playing M4A files just yet? Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 45 replies
-
M4A is a container format: I am not aware of any demuxer implementation that would run on a microcontroller... |
Beta Was this translation helpful? Give feedback.
-
Would you volunteer to test a new m4a demuxer and eventually a related alac decoder ? |
Beta Was this translation helpful? Give feedback.
-
I committed some DRAFT ContainerM4A class: Just pass your MultiDecoder in the constructor and add an entry for "audio/m4a" which points to the ContainerM4A to the multidecoder. |
Beta Was this translation helpful? Give feedback.
-
In the example directory that I provided just execute the following
This builds an executable that you can use with the debugger. |
Beta Was this translation helpful? Give feedback.
-
Tried the latest version, but it's crashing I guess due to
(seems that the vector at fault is not created if that STSZ error is logged) If I set the box buffer size to be bigger than the default 8192 to a somewhat ridiculous 65536 bytes, then I can go past this error, so the box is being read correctly probably — but then there is an endless loop in the actual parsing right after that condition. |
Beta Was this translation helpful? Give feedback.
-
I was using generating the ContainerM4A implementation with AI. After digging into it I am not sure if I want to keep this! Can you share a m4a file ? |
Beta Was this translation helpful? Give feedback.
-
Oh, that's a really cool idea. I never looked into the non adressable part of PSRAM. |
Beta Was this translation helpful? Give feedback.
-
Went to test today but it won't build with C++17:
Replacing with box.id = (this->box.id + 1); seems to work, checking further. Also a lot of stuff seems to be redefining the standard library in Net.h, this is not ideal either but hopefully won't explode things — in particular the ATAPI driver in my project relies on working h2be/be2h |
Beta Was this translation helpful? Give feedback.
-
OK, it was going all too well, but it seems now MP3 playback broke... |
Beta Was this translation helpful? Give feedback.
M4A is a container format: I am not aware of any demuxer implementation that would run on a microcontroller...
You will need to convert thses files on the descktop to aac files e.g. using ffmpeg