My application uses the CMMFDevSound class to play back AAC audio. The code works well on the N95 device, but fails the InitializeL call on the E71 with a KErrNotFound (-1) error:
TRAPD(err, iDevSound->InitializeL(*this, KMMFFourCCCodeAAC, EMMFStatePlaying));
The InitializeComplete callback in the MDevSoundObserver instance is not called either.
The failure is a little odd, because the GetSupportedInputDataTypesL and "Find" call succeeds on the E71:
priority.iPriority = 100;
priority.iPref = EMdaPriorityPreferenceTimeAndQuality;
priority.iState = EMMFStatePlaying;
TRAPD(err, iDevSound->GetSupportedInputDataTypesL(types, priority));
I know the E71 has an on-board AAC decoder. Is there a different initialization sequence required for this device?