I submitted a patch to fix the half speed aac playback in MediaFoundationReader.cs, basically I check for SBR in the extra codec data within the AAC WaveFormatEx MFReader provides and double the sample rate so that should be good to go. Basically all the AAC ADTS files I have play normal now.
AacFileReader is coming along nicely. COM, MF, and an acceptable MF AAC WaveFormat for MFTransform have proven to be a pain in the haemorrhoid but I managed to get MFTransform working (MS's MFTransform has proven to be quite a pain as expected). I just need to remove the IWaveProvider and SourceProvider interfaces so I can get the Read->Decode->Return PCM Wave functionality working as like ACM does it. At first I tried looping the MFT IWaveProvider back to AacFileReader but that didn't turn out too well lol. I had to uncomment that do->while statement in the MFTransform Read() function to get it working properly (thx for adding notes about that btw, I'd probably be lost without it). MFTransform returns 0 decoded bytes otherwise.
So once done AacFileReader should:
Add ACM decoding if an AAC ACM codec is present (XP+Vista users would appreciate this feature).
Add Lossless Frame based cutting of AAC ADTS files.
Improve MediaFoundation compatibility by removing the ID Tags before sending the stream data to MF (MF throws an exception if an ID3v2 tag is present).
AacFileReader is coming along nicely. COM, MF, and an acceptable MF AAC WaveFormat for MFTransform have proven to be a pain in the haemorrhoid but I managed to get MFTransform working (MS's MFTransform has proven to be quite a pain as expected). I just need to remove the IWaveProvider and SourceProvider interfaces so I can get the Read->Decode->Return PCM Wave functionality working as like ACM does it. At first I tried looping the MFT IWaveProvider back to AacFileReader but that didn't turn out too well lol. I had to uncomment that do->while statement in the MFTransform Read() function to get it working properly (thx for adding notes about that btw, I'd probably be lost without it). MFTransform returns 0 decoded bytes otherwise.
So once done AacFileReader should:
Add ACM decoding if an AAC ACM codec is present (XP+Vista users would appreciate this feature).
Add Lossless Frame based cutting of AAC ADTS files.
Improve MediaFoundation compatibility by removing the ID Tags before sending the stream data to MF (MF throws an exception if an ID3v2 tag is present).