audiostubs/devsoundextensions_stubs/audiocodeccistubs/eaacplusdecoderintfccistub/src/EAacPlusDecoderIntfcCIStub.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 00:01:22 +0200
changeset 9 f935d51494d1
parent 0 0ce1b5ce9557
child 10 b2544ba3bc16
permissions -rw-r--r--
Revision: 201005 Kit: 201005

/*
* 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 implementation for eAAC+ decoder.
*
*/


// INCLUDE FILES
#include <e32debug.h>
#include "eaacplusdecoderintfcci.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 ===============================

/**
 * CEAacPlusDecoderIntfcCI::CEAacPlusDecoderIntfcCI
 * C++ default constructor can NOT contain any code, that might leave.
 */
CEAacPlusDecoderIntfcCI::CEAacPlusDecoderIntfcCI()
    {
    }

/**
 * CEAacPlusDecoderIntfcCI::ConstructL
 * Symbian 2nd phase constructor can leave.
 */
void CEAacPlusDecoderIntfcCI::ConstructL()
    {
    }

/**
 * CEAacPlusDecoderIntfcCI::NewL
 * Two-phased constructor.
 */
EXPORT_C CEAacPlusDecoderIntfcCI* CEAacPlusDecoderIntfcCI::NewL()
    {
	CEAacPlusDecoderIntfcCI* self = new (ELeave)CEAacPlusDecoderIntfcCI;
	CleanupStack::PushL(self);
	self->ConstructL();
	CleanupStack::Pop(self);
	return self;
    }

/**
 * Destructor
 */
EXPORT_C CEAacPlusDecoderIntfcCI::~CEAacPlusDecoderIntfcCI()
    {
    }


// From CEAacPlusDecoderIntfc

/**
 * Configures decoder's profile defined by TAudioObjectType.
 * (other items defined in the header)
 */
EXPORT_C void CEAacPlusDecoderIntfcCI::SetAudioObjectType(
                                       TAudioObjectType aAudioObjectType)
    {
    iAudioObjectType = aAudioObjectType;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::SetAudioObjectType - object type[%d]"),
                  iAudioObjectType);
#endif //_DEBUG
    }

/**
 * Configures decoder's input sampling frequency.
 * (other items defined in the header)
 */
EXPORT_C void CEAacPlusDecoderIntfcCI::SetInputSamplingFrequency(
                                       TUint aInputSamplingFrequency)
    {
    iInputSamplingFrequency = aInputSamplingFrequency;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::SetInputSamplingFrequency [%d]"),
                  iInputSamplingFrequency);
#endif //_DEBUG
    }

/**
 * Configures decoder's channel settings.
 * (other items defined in the header)
 */
EXPORT_C void CEAacPlusDecoderIntfcCI::SetNumOfChannels(TUint aNumChannels)
    {
    iNumOfChannels = aNumChannels;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::SetNumOfChannels [%d]"),
                  iNumOfChannels);
#endif //_DEBUG
    }

/**
 * Configures decoder's SBR settings.
 * (other items defined in the header)
 */
EXPORT_C void CEAacPlusDecoderIntfcCI::SetSbr(TBool aSbrEnabled)
    {
    iSbrEnabled = aSbrEnabled;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::SetSbr [%d]"), iSbrEnabled);
#endif //_DEBUG
    }

/**
 * Configures decoder's DSM settings.
 * (other items defined in the header)
 */
EXPORT_C void CEAacPlusDecoderIntfcCI::SetDownSampledMode(TBool aDsmEnabled)
    {
    iDsmEnabled = aDsmEnabled;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::SetDownSampledMode [%d]"),
                  iDsmEnabled);
#endif //_DEBUG
    }

/**
 * Returns decoder's AAC profile settings.
 * (other items defined in the header)
 */
EXPORT_C TInt CEAacPlusDecoderIntfcCI::GetAudioObjectType(
                                       TAudioObjectType& aAudioObjectType)
	{
	aAudioObjectType = iCurrentAudioObjectType;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::GetAudioObjectType [%d]"),
                  iAudioObjectType);
#endif //_DEBUG

	return KErrNone;
	}

/**
 * Returns decoder's input sampling frequency settings.
 * (other items defined in the header)
 */
EXPORT_C TInt CEAacPlusDecoderIntfcCI::GetInputSamplingFrequency(
                                       TUint& aInputSamplingFrequency)
    {
	aInputSamplingFrequency = iCurrentInputSamplingFrequency;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::GetInputSamplingFrequency [%d]"),
                  iInputSamplingFrequency);
#endif //_DEBUG

	return KErrNone;
    }

/**
 * Returns decoder's channel settings.
 * (other items defined in the header)
 */
EXPORT_C TInt CEAacPlusDecoderIntfcCI::GetNumOfChannels(TUint& aNumOfChannels)
    {
	aNumOfChannels = iCurrentNumOfChannels;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::GetNumOfChannels [%d]"),
                  iCurrentNumOfChannels);
#endif //_DEBUG

	return KErrNone;
    }

/**
 * Returns decoder's SBR settings.
 * (other items defined in the header)
 */
EXPORT_C TInt CEAacPlusDecoderIntfcCI::GetSbr(TBool& aSbrEnabled)
    {
	aSbrEnabled = iCurrentSbrEnabled;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::GetSbr [%d]"),
                  iCurrentSbrEnabled);
#endif //_DEBUG

	return KErrNone;
    }

/**
 * Returns decoder's DSM settings.
 * (other items defined in the header)
 */
EXPORT_C TInt CEAacPlusDecoderIntfcCI::GetDownSampledMode(TBool& aDsmEnabled)
    {
	aDsmEnabled = iCurrentDsmEnabled;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::GetDownSampledMode [%d]"),
                  iCurrentDsmEnabled);
#endif //_DEBUG

	return KErrNone;
    }

/**
 * Applies configuration settings to the decoder.
 * (other items defined in the header)
 */
EXPORT_C TInt CEAacPlusDecoderIntfcCI::ApplyConfig()
    {
	iCurrentAudioObjectType        = iAudioObjectType;
	iCurrentInputSamplingFrequency = iInputSamplingFrequency;
	iCurrentNumOfChannels          = iNumOfChannels;
	iCurrentSbrEnabled             = iSbrEnabled;
	iCurrentDsmEnabled             = iDsmEnabled;

#ifdef _DEBUG
    RDebug::Print(_L("CEAacPlusDecoderIntfcCI::ApplyConfig - eAAC+ Config Applied"));
#endif //_DEBUG

	return KErrNone;
    }

// End of file