diff -r 000000000000 -r 0ce1b5ce9557 audiostubs/devsoundextensions_stubs/audiocodeccistubs/sbcencoderintfccistub/src/SbcEncoderIntfcCIStub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/audiostubs/devsoundextensions_stubs/audiocodeccistubs/sbcencoderintfccistub/src/SbcEncoderIntfcCIStub.cpp Thu Jan 14 07:14:53 2010 +0200 @@ -0,0 +1,408 @@ +/* +* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Audio Stubs - Custom Interface stub object for configuring the SBC encoder. +* +*/ + + +// INCLUDE FILES +#include +#include "SbcEncoderIntfcCI.h" + +// EXTERNAL DATA STRUCTURES + +// EXTERNAL FUNCTION PROTOTYPES + +// CONSTANTS + +// MACROS + +// LOCAL CONSTANTS AND MACROS + +// MODULE DATA STRUCTURES + +// LOCAL FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// ============================= LOCAL FUNCTIONS =============================== + +// ============================ MEMBER FUNCTIONS =============================== + +/** + * CSbcEncoderIntfcCI::CSbcEncoderIntfcCI + * C++ default constructor. + */ +CSbcEncoderIntfcCI::CSbcEncoderIntfcCI() + { + } + +/** + * CSbcEncoderIntfcCI::ConstructL + * Symbian 2nd phase constructor. + */ +void CSbcEncoderIntfcCI::ConstructL() + { + } + +/** + * CSbcEncoderIntfcCI::NewL + * Two-phased constructor. + */ +EXPORT_C CSbcEncoderIntfcCI* CSbcEncoderIntfcCI::NewL() + { + CSbcEncoderIntfcCI* self = new (ELeave)CSbcEncoderIntfcCI; + CleanupStack::PushL(self); + self->ConstructL(); + CleanupStack::Pop(self); + return self; + } + +/** + * Destructor + */ +EXPORT_C CSbcEncoderIntfcCI::~CSbcEncoderIntfcCI() + { + } + +/** + * CSbcEncoderIntfcCI::GetSupportedSamplingFrequencies + * Returns and array of supported sampling frequencies. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedSamplingFrequencies( + RArray& aSupportedSamplingFrequencies) + { + aSupportedSamplingFrequencies.Reset(); + aSupportedSamplingFrequencies.Append(16000); + aSupportedSamplingFrequencies.Append(32000); + aSupportedSamplingFrequencies.Append(44100); + aSupportedSamplingFrequencies.Append(48000); + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedSamplingFrequencies - Num of supported Fs[%d]"), + aSupportedSamplingFrequencies.Count()); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::GetSupportedChannelModes + * Returns and array of supported channel modes. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedChannelModes( + RArray& + aSupportedChannelModes) + { + aSupportedChannelModes.Reset(); + aSupportedChannelModes.Append(ESbcChannelMono); + aSupportedChannelModes.Append(ESbcChannelDual); + aSupportedChannelModes.Append(ESbcChannelStereo); + aSupportedChannelModes.Append(ESbcChannelJointStereo); + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedChannelModes - Num of supported ch modes[%d]"), + aSupportedChannelModes.Count()); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::GetSupportedNumOfBlocks + * Returns an array of supported block numbers. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedNumOfBlocks( + RArray& aSupportedNumOfBlocks) + { + aSupportedNumOfBlocks.Reset(); + aSupportedNumOfBlocks.Append(4); + aSupportedNumOfBlocks.Append(8); + aSupportedNumOfBlocks.Append(12); + aSupportedNumOfBlocks.Append(16); + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedNumOfBlocks - Num of supported blocks[%d]"), + aSupportedNumOfBlocks.Count()); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::GetSupportedNumOfSubbands + * Returns an array of supported subbands. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedNumOfSubbands( + RArray& aSupportedNumOfSubbands) + { + aSupportedNumOfSubbands.Reset(); + aSupportedNumOfSubbands.Append(4); + aSupportedNumOfSubbands.Append(8); + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedNumOfSubbands - Num of supported subbands[%d]"), + aSupportedNumOfSubbands.Count()); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::GetSupportedAllocationMethods + * Returns an array of supported allocation methods. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedAllocationMethods( + RArray& + aSupportedAllocationMethods) + { + aSupportedAllocationMethods.Reset(); + aSupportedAllocationMethods.Append(ESbcAllocationSNR); + aSupportedAllocationMethods.Append(ESbcAllocationLoudness); + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedAllocationMethods - Num of supported alloc methods[%d]"), + aSupportedAllocationMethods.Count()); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::GetSupportedBitpoolRange + * Returns supported bitpool range. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedBitpoolRange( + TUint& aMinSupportedBitpoolSize, + TUint& aMaxSupportedBitpoolSize) + { + aMinSupportedBitpoolSize = 2; + aMaxSupportedBitpoolSize = 250; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedBitpoolRange - Min[%d] - Max [%d]"), + aMinSupportedBitpoolSize, + aMaxSupportedBitpoolSize); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::SetSamplingFrequency + * Sets new sampling frequency. + * (other items were commented in a header). + */ +EXPORT_C void CSbcEncoderIntfcCI::SetSamplingFrequency(TUint aSamplingFrequency) + { + iSamplingFrequency = aSamplingFrequency; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::SetSamplingFrequency [%d]"), + iSamplingFrequency); +#endif + } + +/* + * CSbcEncoderIntfcCI::GetSamplingFrequency + * Returns current sampling frequency. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetSamplingFrequency( + TUint& aSamplingFrequency) + { + aSamplingFrequency = iCurrentSamplingFrequency; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetSamplingFrequency [%d]"), + iCurrentSamplingFrequency); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::SetChannelMode + * Sets new channel mode. + * (other items were commented in a header). + */ +EXPORT_C void CSbcEncoderIntfcCI::SetChannelMode(TSbcChannelMode aChannelMode) + { + iChannelMode = aChannelMode; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::SetChannelMode [%d]"), iChannelMode); +#endif + } + +/* + * CSbcEncoderIntfcCI::GetChannelMode + * Returns current channel mode. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetChannelMode(TSbcChannelMode& aChannelMode) + { + aChannelMode = iCurrentChannelMode; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetChannelMode [%d]"), + iCurrentChannelMode); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::SetNumOfSubbands + * Sets new number of subbands. + * (other items were commented in a header). + */ +EXPORT_C void CSbcEncoderIntfcCI::SetNumOfSubbands(TUint aNumOfSubbands) + { + iNumOfSubbands = aNumOfSubbands; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::SetNumOfSubbands [%d]"), + iNumOfSubbands); +#endif + } + +/* + * CSbcEncoderIntfcCI::GetNumOfSubbands + * Returns current number of subbands. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetNumOfSubbands(TUint& aNumOfSubbands) + { + aNumOfSubbands = iCurrentNumOfSubbands; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetNumOfSubbands [%d]"), + iCurrentNumOfSubbands); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::SetNumOfBlocks + * Sets new number of blocks. + * (other items were commented in a header). + */ +EXPORT_C void CSbcEncoderIntfcCI::SetNumOfBlocks(TUint aNumOfBlocks) + { + iNumOfBlocks = aNumOfBlocks; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::SetNumOfBlocks [%d]"), iNumOfBlocks); +#endif + } + +/* + * CSbcEncoderIntfcCI::GetNumOfBlocks + * Returns current number of blocks. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetNumOfBlocks(TUint& aNumOfBlocks) + { + aNumOfBlocks = iCurrentNumOfBlocks; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetNumOfBlocks [%d]"), + iCurrentNumOfBlocks); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::SetAllocationMethod + * Sets new allocation method. + * (other items were commented in a header). + */ +EXPORT_C void CSbcEncoderIntfcCI::SetAllocationMethod( + TSbcAllocationMethod aAllocationMethod) + { + iAllocationMethod = aAllocationMethod; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::SetAllocationMethod [%d]"), + iAllocationMethod); +#endif + } + +/* + * CSbcEncoderIntfcCI::GetAllocationMethod + * Returns current allocation method. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetAllocationMethod( + TSbcAllocationMethod& aAllocationMethod) + { + aAllocationMethod = iCurrentAllocationMethod; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetAllocationMethod [%d]"), + iCurrentAllocationMethod); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::SetBitpoolSize + * Sets new bitpool size. + * (other items were commented in a header). + */ +EXPORT_C void CSbcEncoderIntfcCI::SetBitpoolSize(TUint aBitpoolSize) + { + iBitpoolSize = aBitpoolSize; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::SetBitpoolSize [%d]"), iBitpoolSize); +#endif + } + +/* + * CSbcEncoderIntfcCI::GetBitpoolSize + * Returns current bitpool size. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::GetBitpoolSize(TUint& aBitpoolSize) + { + aBitpoolSize = iCurrentBitpoolSize; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::GetBitpoolSize [%d]"), + iCurrentBitpoolSize); +#endif + return KErrNone; + } + +/* + * CSbcEncoderIntfcCI::ApplyConfig + * Commits new configutaion settings. + * (other items were commented in a header). + */ +EXPORT_C TInt CSbcEncoderIntfcCI::ApplyConfig() + { + iCurrentSamplingFrequency = iSamplingFrequency; + iCurrentChannelMode = iChannelMode; + iCurrentNumOfSubbands = iNumOfSubbands; + iCurrentNumOfBlocks = iNumOfBlocks; + iCurrentAllocationMethod = iAllocationMethod; + iCurrentBitpoolSize = iBitpoolSize; + +#ifdef _DEBUG + RDebug::Print(_L("CSbcEncoderIntfcCI::ApplyConfig - SBC config applied")); +#endif + return KErrNone; + } + +// End of File