/*
* Copyright (c) 2004-2009 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:
*
*/



#ifndef RESOURCEAUDIOENUMS_HRH
#define RESOURCEAUDIOENUMS_HRH

// DATA TYPES

/**
* Sample rates supported by MMF.
*/
enum TMMFSampleRate
	{
	EMMFSampleRate8000Hz    = 0x00000001,
	EMMFSampleRate11025Hz   = 0x00000002,
	EMMFSampleRate16000Hz   = 0x00000004,
	EMMFSampleRate22050Hz   = 0x00000008,
	EMMFSampleRate32000Hz   = 0x00000010,
	EMMFSampleRate44100Hz   = 0x00000020,
	EMMFSampleRate48000Hz   = 0x00000040,
	EMMFSampleRate88200Hz   = 0x00000080,
	EMMFSampleRate96000Hz   = 0x00000100,
	EMMFSampleRate12000Hz   = 0x00000200,
	EMMFSampleRate24000Hz   = 0x00000400
	};

/**
* Mono / stereo supported by MMF.
*/
enum TMMFMonoStereo
	{
	EMMFMono                = 0x00000001,
	EMMFStereo              = 0x00000002
	};

/**
* Sound encodings supported by MMF.
*/
enum TMMFSoundEncoding
	{
	EMMFSoundEncoding8BitPCM    = 0x00000001,
	EMMFSoundEncoding16BitPCM   = 0x00000002,
	EMMFSoundEncoding8BitALaw   = 0x00000004,
	EMMFSoundEncoding8BitMuLaw  = 0x00000008
	};

/**
* Stereo types supported by MMF.
*/
enum TMMFStereoSupport
	{
	EMMFNone                    = 0x00000000,
	EMMFInterleavedOnly         = 0x00000001,
	EMMFNonInterleavedOnly      = 0x00000002,
	EMMFBothNonAndInterleaved   = 0x00000003
	};

enum TMMFState
	{
	/** Idle state.
	*/
	EMMFStateIdle,
	/** The MMF is currently playing.
	*/
	EMMFStatePlaying,
	/** The MMF is playing a tone.
	*/
	EMMFStateTonePlaying,
	/** The MMF is currently playing tone.
	*/
	EMMFStateRecording,
	/** The MMF is playing and recording.
	*/
	EMMFStatePlayingRecording,
	/** The MMF is converting data.
	*/
	EMMFStateConverting
	};

// Taken from dspbridge.h.

enum TDMSConnectionType
	{
	EDMSConnectionGpp,
	EDMSConnectionTask,
	EDMSConnectionDevice
	};

/**
* Stream Transfer type
* This enumeration defines the transfer modes supported:
* 1. Processor copy mode (ETransferCpuCopy) and
* 2. Single copy DSP DMA (ETransferRemoteDma)
* 3. Zero-Copy mode      (ETransferZeroCopy)
*
* Taken from dspbridge.h
*/
enum TDMSTransferType
	{
	ETransferTypeCpuCopy,
	ETransferTypeRemoteDma,
	ETransferTypeZeroCopy
	};

enum EnableTrueOrFalse
	{
	EEnableFalse,
	EEnableTrue
	};

#endif // RESOURCEAUDIOENUMS_HRH

// End of File
