Archived:Using AMR NB codec with VoIP Audio Service API on Nokia E72 requires additional configuration (Known Issue)
Article Metadata
Tested with
Compatibility
Article
Description
Playback using the VoIP Audio Service API (VAS) fails on the Nokia E72 if the VAS downlink stream is configured to use the AMR-NB codec and the frame mode is not set.
How to reproduce
This issue can be easily reproduced with the VoIPTest example application included in the API package.
Change the uplink and downlink format to AMR-NB (EAMR_NB) for the one touch loopback feature:
void CVoIPTestEngine::OneTouchLoopback()
{
iOneTouchLoopback = ETrue;
SetDownlinkFormat(EAMR_NB);
SetUplinkFormat(EAMR_NB);
}
When running the example on the Nokia E72, playback fails (no output from the loudspeaker) after One touch loopback is selected from the menu.
Solution
After initialising the VAS downlink with the AMR-NB codec is complete, frame mode (CVoIPFormatIntfc::SetFrameMode(TBool aFrameMode)) must be set to true for the downlink codec, before starting the downlink stream.
In the VoIPTest example, this can be easily tested by modifying the CVoIPTestEngine::Event() function as follows:
void CVoIPTestEngine::Event(const CVoIPAudioDownlinkStream& /*aSrc*/, TInt aEventType, TInt aError)
{
switch (aEventType)
{
case MVoIPDownlinkObserver::KOpenComplete:
{
...
if (iOneTouchLoopback)
{
<b>ToggleFrameMode(); // Set frame mode ON</b>
StartDownlink();
}
break;
}
...
}


(no comments yet)