Cacasodo,
I believe what is required is a deep understanding of how the Audio chip is configured (so that we know exactly what to send the chip). Others have had an in-depth look at this. I have only had a cursory check.
http://www.asahi-kasei.co.jp/akm/en/product/ak4646/ak4646_f03e.pdf Changes I have made in the audio area (audio.c):
+) Filters: Trammell's code explicitly change all the filters one by one.
The 550D patch did them all in one go -> I've switched to the 550D version.
There is a huge chunk of the manual on this (and I have not read it)
+) Fix of audio in MoviePlay (Patch copied from 550d guys few months ago-> Seems to work)
+) Fix of 'audio margin'. I copied the 550d patch on 'reordering the index' to get the margin correct (2 days ago)
I don't know if this works.
+) [Programming] Changed the variable communication to ensure that the latest versions are read (not sure if this has anything to do with the audio issue for the first few secs on the 550d)
+) [Programming] Noted that the calls to audio_configure() (to update the IC with new values) is done
both synchronously (ie do it now), and asynchronously (go do in when you are ready).
This is inconsistent but I don't (currently) think it causes software issues
+) [Programming] Ripped out all the code that does Screen Updates, Menus and signed arithmetic.
+) Added the 02gain info into the new menu (this was my cursory glance at what the Audio IC manual)
+) [Programming] Renamed all of the ML variables (I didn't understand what the previous ones were).
+) Rewrriten the Audio register debug log to (when activated) to create a new file of output every time audio_configure is called.
If you wish to test this on the 5D ... You will (I hope) now be able to check that after any change has been correctly applied to the
AUDIO IC registers (ie you don't need any programming skills, just an understanding of how to configure the Audio chip)
Might be useful for some to run (something like this) on the 550d to see if the Audio issue (louder for first few secs) is due to
the Audio chip being reconfigured just before / or just after recording is started.
+) I've attached my own version of audio.c here. (you may find this is a bit easier to read than the ML version).
The routine: audio_configure() is a bit easier to to read.
If anyone understands 100% what needs to done to configure the audio_ic differently (and wants to know what the 50 ish lines of
code do to make the necessary changes), you can either ask me to turn what it does into English, or send me what you would
like it to do.
Hope this helps.
AJ