audiostubs/devsoundextensions_stubs/audiocodeccistubs/sbcencoderintfccistub/src/SbcEncoderIntfcCIStub.cpp
branchRCL_3
changeset 44 b5894bb67e73
parent 35 37b610eb7fe3
equal deleted inserted replaced
35:37b610eb7fe3 44:b5894bb67e73
     1 /*
       
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: Audio Stubs -  Custom Interface stub object for configuring the SBC encoder.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 // INCLUDE FILES
       
    20 #include <e32debug.h>
       
    21 #include "SbcEncoderIntfcCI.h"
       
    22 
       
    23 // EXTERNAL DATA STRUCTURES
       
    24 
       
    25 // EXTERNAL FUNCTION PROTOTYPES
       
    26 
       
    27 // CONSTANTS
       
    28 
       
    29 // MACROS
       
    30 
       
    31 // LOCAL CONSTANTS AND MACROS
       
    32 
       
    33 // MODULE DATA STRUCTURES
       
    34 
       
    35 // LOCAL FUNCTION PROTOTYPES
       
    36 
       
    37 // FORWARD DECLARATIONS
       
    38 
       
    39 // ============================= LOCAL FUNCTIONS ===============================
       
    40 
       
    41 // ============================ MEMBER FUNCTIONS ===============================
       
    42 
       
    43 /**
       
    44  * CSbcEncoderIntfcCI::CSbcEncoderIntfcCI
       
    45  * C++ default constructor.
       
    46  */
       
    47 CSbcEncoderIntfcCI::CSbcEncoderIntfcCI()
       
    48     {
       
    49     }
       
    50 
       
    51 /**
       
    52  * CSbcEncoderIntfcCI::ConstructL
       
    53  * Symbian 2nd phase constructor.
       
    54  */
       
    55 void CSbcEncoderIntfcCI::ConstructL()
       
    56     {
       
    57     }
       
    58 
       
    59 /**
       
    60  * CSbcEncoderIntfcCI::NewL
       
    61  * Two-phased constructor.
       
    62  */
       
    63 EXPORT_C CSbcEncoderIntfcCI* CSbcEncoderIntfcCI::NewL()
       
    64     {
       
    65 	CSbcEncoderIntfcCI* self = new (ELeave)CSbcEncoderIntfcCI;
       
    66 	CleanupStack::PushL(self);
       
    67 	self->ConstructL();
       
    68 	CleanupStack::Pop(self);
       
    69 	return self;
       
    70     }
       
    71 
       
    72 /**
       
    73  * Destructor
       
    74  */
       
    75 EXPORT_C CSbcEncoderIntfcCI::~CSbcEncoderIntfcCI()
       
    76     {
       
    77     }
       
    78 
       
    79 /**
       
    80  * CSbcEncoderIntfcCI::GetSupportedSamplingFrequencies
       
    81  * Returns and array of supported sampling frequencies.
       
    82  * (other items were commented in a header).
       
    83  */
       
    84 EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedSamplingFrequencies(
       
    85                                   RArray<TUint>& aSupportedSamplingFrequencies)
       
    86     {
       
    87     aSupportedSamplingFrequencies.Reset();
       
    88     aSupportedSamplingFrequencies.Append(16000);
       
    89     aSupportedSamplingFrequencies.Append(32000);
       
    90     aSupportedSamplingFrequencies.Append(44100);
       
    91     aSupportedSamplingFrequencies.Append(48000);
       
    92 
       
    93 #ifdef _DEBUG
       
    94     RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedSamplingFrequencies - Num of supported Fs[%d]"),
       
    95                   aSupportedSamplingFrequencies.Count());
       
    96 #endif
       
    97 	return KErrNone;
       
    98     }
       
    99 
       
   100 /*
       
   101  * CSbcEncoderIntfcCI::GetSupportedChannelModes
       
   102  * Returns and array of supported channel modes.
       
   103  * (other items were commented in a header).
       
   104  */
       
   105 EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedChannelModes(
       
   106                                   RArray<TSbcChannelMode>&
       
   107                                   aSupportedChannelModes)
       
   108     {
       
   109     aSupportedChannelModes.Reset();
       
   110     aSupportedChannelModes.Append(ESbcChannelMono);
       
   111     aSupportedChannelModes.Append(ESbcChannelDual);
       
   112     aSupportedChannelModes.Append(ESbcChannelStereo);
       
   113     aSupportedChannelModes.Append(ESbcChannelJointStereo);
       
   114 
       
   115 #ifdef _DEBUG
       
   116     RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedChannelModes - Num of supported ch modes[%d]"),
       
   117                   aSupportedChannelModes.Count());
       
   118 #endif
       
   119     return KErrNone;
       
   120     }
       
   121 
       
   122 /*
       
   123  * CSbcEncoderIntfcCI::GetSupportedNumOfBlocks
       
   124  * Returns an array of supported block numbers.
       
   125  * (other items were commented in a header).
       
   126  */
       
   127 EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedNumOfBlocks(
       
   128 		                          RArray<TUint>& aSupportedNumOfBlocks)
       
   129     {
       
   130     aSupportedNumOfBlocks.Reset();
       
   131     aSupportedNumOfBlocks.Append(4);
       
   132     aSupportedNumOfBlocks.Append(8);
       
   133     aSupportedNumOfBlocks.Append(12);
       
   134     aSupportedNumOfBlocks.Append(16);
       
   135 
       
   136 #ifdef _DEBUG
       
   137     RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedNumOfBlocks - Num of supported blocks[%d]"),
       
   138                   aSupportedNumOfBlocks.Count());
       
   139 #endif
       
   140     return KErrNone;
       
   141     }
       
   142 
       
   143 /*
       
   144  * CSbcEncoderIntfcCI::GetSupportedNumOfSubbands
       
   145  * Returns an array of supported subbands.
       
   146  * (other items were commented in a header).
       
   147  */
       
   148 EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedNumOfSubbands(
       
   149                                   RArray<TUint>& aSupportedNumOfSubbands)
       
   150     {
       
   151     aSupportedNumOfSubbands.Reset();
       
   152     aSupportedNumOfSubbands.Append(4);
       
   153     aSupportedNumOfSubbands.Append(8);
       
   154 
       
   155 #ifdef _DEBUG
       
   156     RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedNumOfSubbands - Num of supported subbands[%d]"),
       
   157                   aSupportedNumOfSubbands.Count());
       
   158 #endif
       
   159     return KErrNone;
       
   160     }
       
   161 
       
   162 /*
       
   163  * CSbcEncoderIntfcCI::GetSupportedAllocationMethods
       
   164  * Returns an array of supported allocation methods.
       
   165  * (other items were commented in a header).
       
   166  */
       
   167 EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedAllocationMethods(
       
   168                                   RArray<TSbcAllocationMethod>&
       
   169                                   aSupportedAllocationMethods)
       
   170     {
       
   171     aSupportedAllocationMethods.Reset();
       
   172     aSupportedAllocationMethods.Append(ESbcAllocationSNR);
       
   173     aSupportedAllocationMethods.Append(ESbcAllocationLoudness);
       
   174 
       
   175 #ifdef _DEBUG
       
   176     RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedAllocationMethods - Num of supported alloc methods[%d]"),
       
   177                   aSupportedAllocationMethods.Count());
       
   178 #endif
       
   179     return KErrNone;
       
   180     }
       
   181 
       
   182 /*
       
   183  * CSbcEncoderIntfcCI::GetSupportedBitpoolRange
       
   184  * Returns supported bitpool range.
       
   185  * (other items were commented in a header).
       
   186  */
       
   187 EXPORT_C TInt CSbcEncoderIntfcCI::GetSupportedBitpoolRange(
       
   188         		                  TUint& aMinSupportedBitpoolSize,
       
   189         		                  TUint& aMaxSupportedBitpoolSize)
       
   190     {
       
   191     aMinSupportedBitpoolSize = 2;
       
   192     aMaxSupportedBitpoolSize = 250;
       
   193 
       
   194 #ifdef _DEBUG
       
   195     RDebug::Print(_L("CSbcEncoderIntfcCI::GetSupportedBitpoolRange - Min[%d] - Max [%d]"),
       
   196                   aMinSupportedBitpoolSize,
       
   197                   aMaxSupportedBitpoolSize);
       
   198 #endif
       
   199     return KErrNone;
       
   200     }
       
   201 
       
   202 /*
       
   203  * CSbcEncoderIntfcCI::SetSamplingFrequency
       
   204  * Sets new sampling frequency.
       
   205  * (other items were commented in a header).
       
   206  */
       
   207 EXPORT_C void CSbcEncoderIntfcCI::SetSamplingFrequency(TUint aSamplingFrequency)
       
   208     {
       
   209     iSamplingFrequency = aSamplingFrequency;
       
   210 
       
   211 #ifdef _DEBUG
       
   212     RDebug::Print(_L("CSbcEncoderIntfcCI::SetSamplingFrequency [%d]"),
       
   213                   iSamplingFrequency);
       
   214 #endif
       
   215     }
       
   216 
       
   217 /*
       
   218  * CSbcEncoderIntfcCI::GetSamplingFrequency
       
   219  * Returns current sampling frequency.
       
   220  * (other items were commented in a header).
       
   221  */
       
   222 EXPORT_C TInt CSbcEncoderIntfcCI::GetSamplingFrequency(
       
   223                                   TUint& aSamplingFrequency)
       
   224     {
       
   225     aSamplingFrequency = iCurrentSamplingFrequency;
       
   226 
       
   227 #ifdef _DEBUG
       
   228     RDebug::Print(_L("CSbcEncoderIntfcCI::GetSamplingFrequency [%d]"),
       
   229                   iCurrentSamplingFrequency);
       
   230 #endif
       
   231     return KErrNone;
       
   232     }
       
   233 
       
   234 /*
       
   235  * CSbcEncoderIntfcCI::SetChannelMode
       
   236  * Sets new channel mode.
       
   237  * (other items were commented in a header).
       
   238  */
       
   239 EXPORT_C void CSbcEncoderIntfcCI::SetChannelMode(TSbcChannelMode aChannelMode)
       
   240     {
       
   241     iChannelMode = aChannelMode;
       
   242 
       
   243 #ifdef _DEBUG
       
   244     RDebug::Print(_L("CSbcEncoderIntfcCI::SetChannelMode [%d]"), iChannelMode);
       
   245 #endif
       
   246     }
       
   247 
       
   248 /*
       
   249  * CSbcEncoderIntfcCI::GetChannelMode
       
   250  * Returns current channel mode.
       
   251  * (other items were commented in a header).
       
   252  */
       
   253 EXPORT_C TInt CSbcEncoderIntfcCI::GetChannelMode(TSbcChannelMode& aChannelMode)
       
   254     {
       
   255     aChannelMode = iCurrentChannelMode;
       
   256 
       
   257 #ifdef _DEBUG
       
   258     RDebug::Print(_L("CSbcEncoderIntfcCI::GetChannelMode [%d]"),
       
   259                   iCurrentChannelMode);
       
   260 #endif
       
   261     return KErrNone;
       
   262     }
       
   263 
       
   264 /*
       
   265  * CSbcEncoderIntfcCI::SetNumOfSubbands
       
   266  * Sets new number of subbands.
       
   267  * (other items were commented in a header).
       
   268  */
       
   269 EXPORT_C void CSbcEncoderIntfcCI::SetNumOfSubbands(TUint aNumOfSubbands)
       
   270     {
       
   271     iNumOfSubbands = aNumOfSubbands;
       
   272 
       
   273 #ifdef _DEBUG
       
   274     RDebug::Print(_L("CSbcEncoderIntfcCI::SetNumOfSubbands [%d]"),
       
   275                   iNumOfSubbands);
       
   276 #endif
       
   277     }
       
   278 
       
   279 /*
       
   280  * CSbcEncoderIntfcCI::GetNumOfSubbands
       
   281  * Returns current number of subbands.
       
   282  * (other items were commented in a header).
       
   283  */
       
   284 EXPORT_C TInt CSbcEncoderIntfcCI::GetNumOfSubbands(TUint& aNumOfSubbands)
       
   285     {
       
   286     aNumOfSubbands = iCurrentNumOfSubbands;
       
   287 
       
   288 #ifdef _DEBUG
       
   289     RDebug::Print(_L("CSbcEncoderIntfcCI::GetNumOfSubbands [%d]"),
       
   290                   iCurrentNumOfSubbands);
       
   291 #endif
       
   292     return KErrNone;
       
   293     }
       
   294 
       
   295 /*
       
   296  * CSbcEncoderIntfcCI::SetNumOfBlocks
       
   297  * Sets new number of blocks.
       
   298  * (other items were commented in a header).
       
   299  */
       
   300 EXPORT_C void CSbcEncoderIntfcCI::SetNumOfBlocks(TUint aNumOfBlocks)
       
   301     {
       
   302     iNumOfBlocks = aNumOfBlocks;
       
   303 
       
   304 #ifdef _DEBUG
       
   305     RDebug::Print(_L("CSbcEncoderIntfcCI::SetNumOfBlocks [%d]"), iNumOfBlocks);
       
   306 #endif
       
   307     }
       
   308 
       
   309 /*
       
   310  * CSbcEncoderIntfcCI::GetNumOfBlocks
       
   311  * Returns current number of blocks.
       
   312  * (other items were commented in a header).
       
   313  */
       
   314 EXPORT_C TInt CSbcEncoderIntfcCI::GetNumOfBlocks(TUint& aNumOfBlocks)
       
   315     {
       
   316     aNumOfBlocks = iCurrentNumOfBlocks;
       
   317 
       
   318 #ifdef _DEBUG
       
   319     RDebug::Print(_L("CSbcEncoderIntfcCI::GetNumOfBlocks [%d]"),
       
   320                   iCurrentNumOfBlocks);
       
   321 #endif
       
   322     return KErrNone;
       
   323     }
       
   324 
       
   325 /*
       
   326  * CSbcEncoderIntfcCI::SetAllocationMethod
       
   327  * Sets new allocation method.
       
   328  * (other items were commented in a header).
       
   329  */
       
   330 EXPORT_C void CSbcEncoderIntfcCI::SetAllocationMethod(
       
   331                                   TSbcAllocationMethod aAllocationMethod)
       
   332     {
       
   333     iAllocationMethod = aAllocationMethod;
       
   334 
       
   335 #ifdef _DEBUG
       
   336     RDebug::Print(_L("CSbcEncoderIntfcCI::SetAllocationMethod [%d]"),
       
   337                   iAllocationMethod);
       
   338 #endif
       
   339     }
       
   340 
       
   341 /*
       
   342  * CSbcEncoderIntfcCI::GetAllocationMethod
       
   343  * Returns current allocation method.
       
   344  * (other items were commented in a header).
       
   345  */
       
   346 EXPORT_C TInt CSbcEncoderIntfcCI::GetAllocationMethod(
       
   347                                   TSbcAllocationMethod& aAllocationMethod)
       
   348     {
       
   349     aAllocationMethod = iCurrentAllocationMethod;
       
   350 
       
   351 #ifdef _DEBUG
       
   352     RDebug::Print(_L("CSbcEncoderIntfcCI::GetAllocationMethod [%d]"),
       
   353                   iCurrentAllocationMethod);
       
   354 #endif
       
   355     return KErrNone;
       
   356     }
       
   357 
       
   358 /*
       
   359  * CSbcEncoderIntfcCI::SetBitpoolSize
       
   360  * Sets new bitpool size.
       
   361  * (other items were commented in a header).
       
   362  */
       
   363 EXPORT_C void CSbcEncoderIntfcCI::SetBitpoolSize(TUint aBitpoolSize)
       
   364     {
       
   365     iBitpoolSize = aBitpoolSize;
       
   366 
       
   367 #ifdef _DEBUG
       
   368     RDebug::Print(_L("CSbcEncoderIntfcCI::SetBitpoolSize [%d]"), iBitpoolSize);
       
   369 #endif
       
   370     }
       
   371 
       
   372 /*
       
   373  * CSbcEncoderIntfcCI::GetBitpoolSize
       
   374  * Returns current bitpool size.
       
   375  * (other items were commented in a header).
       
   376  */
       
   377 EXPORT_C TInt CSbcEncoderIntfcCI::GetBitpoolSize(TUint& aBitpoolSize)
       
   378     {
       
   379     aBitpoolSize = iCurrentBitpoolSize;
       
   380 
       
   381 #ifdef _DEBUG
       
   382     RDebug::Print(_L("CSbcEncoderIntfcCI::GetBitpoolSize [%d]"),
       
   383                   iCurrentBitpoolSize);
       
   384 #endif
       
   385     return KErrNone;
       
   386     }
       
   387 
       
   388 /*
       
   389  * CSbcEncoderIntfcCI::ApplyConfig
       
   390  * Commits new configutaion settings.
       
   391  * (other items were commented in a header).
       
   392  */
       
   393 EXPORT_C TInt CSbcEncoderIntfcCI::ApplyConfig()
       
   394     {
       
   395 	iCurrentSamplingFrequency = iSamplingFrequency;
       
   396 	iCurrentChannelMode       = iChannelMode;
       
   397 	iCurrentNumOfSubbands     = iNumOfSubbands;
       
   398 	iCurrentNumOfBlocks       = iNumOfBlocks;
       
   399 	iCurrentAllocationMethod  = iAllocationMethod;
       
   400 	iCurrentBitpoolSize       = iBitpoolSize;
       
   401 
       
   402 #ifdef _DEBUG
       
   403     RDebug::Print(_L("CSbcEncoderIntfcCI::ApplyConfig - SBC config applied"));
       
   404 #endif
       
   405 	return KErrNone;
       
   406     }
       
   407 
       
   408 // End of File