- Device, software version:
S60 3rd edition
With devsound Based on DSP, mobile devices can play streaming media in the following encoding formats. All s60 third-edition mobile phones support streaming media playing based on the following hardware audio codes:
FourCC Type Description
" P16" (encoder+decoder) Uncompressed PCM 16-bit
" AMR" (encoder+decoder) AMR Narrow Band
Additionally, most Nseries and some Eseries devices support also the following:
"G711" (encoder+decoder) G.711
"G729" (encoder+decoder) G.729
"ILBC" (encoder+decoder) iLBC (internet Low Bitrate Codec)
" MP3" (decoder only) MPEG-1 Audio Layer 3 (MP3)
" AWB" (decoder only) AMR Wide Band
" AAC" (decoder only) Adv. Audio Coding (AAC)
During audio stream initialization, we use a fourcc code (tfourcc) to specify the decoding format. For example, when cmdaaudioinputstream is used, you can perform the following operations in maiscopencomplete after the stream format is opened successfully:
void CMyAudioStreamer::MaiscOpenComplete( TInt aError )
{
if ( aError == KErrNone )
{
// Set the data type (encoding)
TRAPD(error, iInputStream->SetDataTypeL( TFourCC('G', '7', '1', '1')) );
- Hardware encoding Configuration
The default configuration is defined for most codes during initialization and no additional operations are required.
However, some encoding formats support different decoding modes, such as bit rate or other features. For a hardware encoding, these configurations can be completed through a custom interface class with a specific encoding. We can obtain a pointer for this type of instance from the cmdaaudioxxxstream or cmfdevsound custominterface () method. This pointer is forcibly converted to a specific encoded interface type.
However, these hardware-dependent interfaces cannot be supported as part of the s60 SDK. If the project requires custom encoding. Developers can use these custom interfaces through the Nokia s60 API Partner Program.