devsound/devsoundrefplugin/tsrc/SwCodecDevices/TSU_MMF_SignConversionCodecs.h
changeset 0 79dd3e2336a0
equal deleted inserted replaced
-1:000000000000 0:79dd3e2336a0
       
     1 // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef __TSU_MMF_SIGNCONVERSIONS_H__
       
    17 #define __TSU_MMF_SIGNCONVERSIONS_H__
       
    18 
       
    19 #include <testframework.h>
       
    20 #include <mmf/server/mmfcodec.h>
       
    21 #include <mmf/server/mmfbuffer.h>
       
    22 #include <mmf/server/mmfdatabuffer.h>
       
    23 #include <mmf/common/mmfutilities.h>
       
    24 #include <mmf/common/mmffourcc.h>
       
    25 
       
    26 #include <mmf/common/mmfcontroller.h>
       
    27 #include <mmf/common/mmfcontrollerpluginresolver.h>
       
    28 #include <mmf/plugin/mmfplugininterfaceuids.hrh>
       
    29 #include "TSU_MMF_ACOD.h"
       
    30 
       
    31 
       
    32 class CTestSuite ;
       
    33 class CTestSuite_MMF_SwCodecDevices;
       
    34 
       
    35 /**
       
    36 *
       
    37 * class CMMFDataGenerator
       
    38 * Provides interface for test generator
       
    39 *
       
    40 */
       
    41 class CMMFDataGenerator : public CBase 
       
    42                                           
       
    43 	{
       
    44 public:
       
    45 	CMMFDataGenerator(){};
       
    46 	~CMMFDataGenerator(){};
       
    47 	virtual void GenerateSourceDataL( CMMFDataBuffer* &aBuffer, TInt aSize )=0; 
       
    48 	virtual void GenerateComparisonDataL( CMMFDataBuffer* &aBuffer, TInt aSize )=0;
       
    49 	virtual void PrintComparisonDataL( CMMFDataBuffer& aCodedData, CMMFDataBuffer& aRefCodedData );
       
    50 	virtual void AssembleValue( TUint8* data, TInt16& aValue, TBool bigEndian = EFalse );
       
    51     virtual void AssembleValue( TUint8* data, TUint16& aValue, TBool bigEndian = EFalse );
       
    52 private:
       
    53 	CTestSuite_MMF_SwCodecDevices* iRefSuite; //added to allow logging to file
       
    54 	};
       
    55 
       
    56 /**
       
    57 *
       
    58 * class CMMFPcm16toPcmU8Generator
       
    59 * Template class to generate pcm16 data and converted pcmu8 data
       
    60 *
       
    61 **/
       
    62 class CMMFPcm16ToPcmU8Generator: public CMMFDataGenerator
       
    63 	{
       
    64 public:
       
    65 	CMMFPcm16ToPcmU8Generator();
       
    66 	~CMMFPcm16ToPcmU8Generator();
       
    67 	virtual void GenerateSourceDataL( CMMFDataBuffer* &aBuffer, TInt aSize ); 
       
    68 	virtual void GenerateComparisonDataL( CMMFDataBuffer* &aBuffer, TInt aSize );
       
    69 	virtual void PrintComparisonDataL( CMMFDataBuffer& aCodedData, CMMFDataBuffer& aRefCodedData );
       
    70 	};
       
    71 
       
    72 /**
       
    73 *
       
    74 * class CMMFPcmU16toPcmU16BGenerator
       
    75 * Template class to generate pcm16 data and converted pcmu8 data
       
    76 *    
       
    77 **/
       
    78 class CMMFPcmU16toPcmU16BGenerator: public CMMFDataGenerator
       
    79 	{
       
    80 public:
       
    81 	CMMFPcmU16toPcmU16BGenerator();
       
    82 	~CMMFPcmU16toPcmU16BGenerator();
       
    83 	virtual void GenerateSourceDataL( CMMFDataBuffer* &aBuffer, TInt aSize ); 
       
    84 	virtual void GenerateComparisonDataL( CMMFDataBuffer* &aBuffer, TInt aSize );
       
    85 	virtual void PrintComparisonDataL( CMMFDataBuffer& aCodedData, CMMFDataBuffer& aRefCodedData );
       
    86 	};
       
    87 
       
    88 /**
       
    89 *
       
    90 * class CMMFPcmU16BtoPcm16BGenerator
       
    91 * Template class to generate pcm16 data and converted pcmu8 data
       
    92 *  
       
    93 **/
       
    94 class CMMFPcmU16BtoPcmU16Generator: public CMMFDataGenerator
       
    95 	{
       
    96 public:
       
    97 	 CMMFPcmU16BtoPcmU16Generator();
       
    98 	~CMMFPcmU16BtoPcmU16Generator();
       
    99 	virtual void GenerateSourceDataL( CMMFDataBuffer* &aBuffer, TInt aSize ); 
       
   100 	virtual void GenerateComparisonDataL( CMMFDataBuffer* &aBuffer, TInt aSize );
       
   101 	virtual void PrintComparisonDataL( CMMFDataBuffer& aCodedData, CMMFDataBuffer& aRefCodedData );
       
   102 	};
       
   103 
       
   104 /**
       
   105 *
       
   106 * class CMMFPcm8ToPcm16Generator
       
   107 * Template class to generate pcm8 data and convert to pcm16 data
       
   108 *
       
   109 **/
       
   110 class CMMFPcm8ToPcm16Generator: public CMMFDataGenerator
       
   111 	{
       
   112 public:
       
   113 	CMMFPcm8ToPcm16Generator();
       
   114 	~CMMFPcm8ToPcm16Generator();
       
   115 	virtual void GenerateSourceDataL( CMMFDataBuffer* &aBuffer, TInt aSize ); 
       
   116 	virtual void GenerateComparisonDataL( CMMFDataBuffer* &aBuffer, TInt aSize );
       
   117 	virtual void PrintComparisonDataL( CMMFDataBuffer& aCodedData, CMMFDataBuffer& aRefCodedData );
       
   118 	};
       
   119 
       
   120 /**
       
   121 *
       
   122 * class CMMFPcmU8ToPcm16Generator
       
   123 *
       
   124 **/
       
   125 class CMMFPcmU8ToPcm16Generator : public CMMFDataGenerator
       
   126 	{
       
   127 public:
       
   128 	 CMMFPcmU8ToPcm16Generator();
       
   129 	~CMMFPcmU8ToPcm16Generator();
       
   130 	 virtual void GenerateSourceDataL( CMMFDataBuffer* &aBuffer, TInt aSize ); 
       
   131 	 virtual void GenerateComparisonDataL( CMMFDataBuffer* &aBuffer, TInt aSize );
       
   132 	 virtual void PrintComparisonDataL( CMMFDataBuffer& aCodedData, CMMFDataBuffer& aRefCodedData );
       
   133 	};
       
   134 
       
   135 /**
       
   136 * Class CTestStepSignConversionTest
       
   137 * This class tests type conversions using
       
   138 *  a codec T, test data generator Generator
       
   139 *  and having test case name name 
       
   140 **/
       
   141 template <class T, class Generator, TInt index>
       
   142 class CTestStepSignConversionTest : public CTestStep_MMF_SwCodecDevices
       
   143 	 {
       
   144 public:
       
   145 	CTestStepSignConversionTest();
       
   146 	virtual ~CTestStepSignConversionTest();
       
   147 	virtual enum TVerdict DoTestStepL();
       
   148 	virtual TVerdict DoTestStepPreambleL(void);
       
   149 	virtual TVerdict DoTestStepPostambleL(void);
       
   150 private:
       
   151 	TBool CompareData( CMMFDataBuffer* aData1, CMMFDataBuffer* aData2 );
       
   152 private:
       
   153 	T*  iCodecUnderTest;  // The Codec Under Test
       
   154 	Generator* iGenerator;
       
   155     CMMFDataBuffer* iSourceData;   // reference source data
       
   156 	CMMFDataBuffer* iCodedData;    // coded data
       
   157 	CMMFDataBuffer* iRefCodedData; // reference coded data	
       
   158 	CTestSuite_MMF_SwCodecDevices* iRefSuite;
       
   159 	};
       
   160 
       
   161 #endif