nu774 / fdkaac

command line encoder frontend for libfdk-aac
Other
261 stars 58 forks source link

Mp4 atoms are missing #10

Closed ozok closed 10 years ago

ozok commented 10 years ago

Hello,

I am trying to write tags to a certain file in my TAudioConverter but said file causes issues if fdkaac.exe is used as encoder.

File is ripped from CD and encoded to aac (.m4a) using fdkaac.exe. Used command line is "-m 0 -b 128 -p 2 -G 0". File plays fine without tags written. But when I write the tags, foobar2000 states that it is invalid and refuses to play it. However I can play the file with MPlayer.

This problem doesn't occur with other encoders I tried (qaac, neroaac, ffmpeg). So, I've run encoded files (still without tags) through atomicparsley to see atom trees. Here are the results: fdkaac: https://dl.dropboxusercontent.com/u/9617171/1.txt neroaac: https://dl.dropboxusercontent.com/u/9617171/2.txt qaac: https://dl.dropboxusercontent.com/u/9617171/3.txt

I've used the fdkaac.exe that I've compiled using sources from your repo and tagging library from http://www.3delite.hu/.

I can provide you with the sample file if need be.

TIA and regards.

nu774 commented 10 years ago

If your tool doesn't handle mdat placed before moov, then try again with --moov-before-mdat option set. Unlike qaac, fdkaac writes mdat before moov by default.

ozok commented 10 years ago

Thank you, it seems to be working fine with "--moov-before-mdat" option added.