diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/inc/mceaudiocodec.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/inc/mceaudiocodec.h Tue Aug 31 15:12:07 2010 +0300 @@ -0,0 +1,161 @@ +/* +* Copyright (c) 2005 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 CMCEAUDIOCODEC_H +#define CMCEAUDIOCODEC_H + +// INCLUDES +#include +#include +#include + +// FORWARD DECLARATIONS +class RReadStream; +class RWriteStream; +class CMceComAudioCodec; +class CMceMediaStream; +class TMceIds; +class TMceEvent; +class TMceMediaId; +class TMceFactory; +class TMceAudioCodecFactory; + +// CLASS DECLARATION + +/** +* Container class for audio codecs. +* +* It defines attributes that can be set and get from audio codec. +* These attributes are used in single audio stream and they +* are negotiated with remote terminal. +* +* @lib mceclient.lib +*/ +class CMceAudioCodec : public CMceCodec + { + public: // Constructors and destructor + + /** + * Destructor. + */ + virtual ~CMceAudioCodec(); + + public: // New functions + + /** + * Enable / Disable Voice Activity Detection. + * @param aEnableVAD, Boolean indicating whether to enable Voice Activity Detection + * @return KErrNotSupported if codec doesn't support VAD; otherwise KErrNone. + */ + virtual TInt EnableVAD(TBool aEnableVAD) = 0; + + /** + * Sets the sampling frequency. + * @param aSamplingFreq, Sampling frequency to be used + * @return KErrNotSupported if codec doesn't support sampling frequency issued; otherwise KErrNone. + */ + virtual TInt SetSamplingFreq(TUint aSamplingFreq) = 0; + + /** + * Sets the packetization rate. + * @param aPTime, Packetization rate, must be multiple of audio frame size. + * @return KErrNotSupported if codec doesn't support packetrate value issued; otherwise KErrNone. + */ + virtual TInt SetPTime(TUint aPTime) = 0; + + /** + * Sets the maximum packetization rate. + * @param aMaxPTime, maximum allowed packetization rate, must be multiple of audio frame size. + * @return KErrNotSupported if codec doesn't support packetrate value issued; otherwise KErrNone. + */ + virtual TInt SetMaxPTime(TUint aMaxPTime) = 0; + + /** + * Clones codec, ownership is transferred. + * @return cloned codec + */ + virtual CMceAudioCodec* CloneL() const = 0; + + /** + * Gets sampling frequency used currently. + * @return Sampling frequency + */ + virtual TUint SamplingFreq() const; + + /** + * Get VAD status. + * @return Boolean indicating is VAD activated + */ + virtual TBool VAD() const; + + /** + * Gets the packetization rate. + * @return packetization rate. + */ + virtual TUint PTime() const; + + /** + * Gets max packetization rate. + * @return Max packetization rate. + */ + virtual TUint MaxPTime() const; + + public: + + /** + * Initializes + * @param aParent the parent + */ + virtual void InitializeL( CMceMediaStream& aParent ); + + + protected: // New functions + + /** + * C++ default constructor. + */ + CMceAudioCodec(); + + + public: // stub data + + /** + * Enables or disables VAD + */ + TBool iEnableVAD; + + /** + * Sampling frequency used with codec + */ + TUint iSamplingFreq; + + /** + * Stream's packet time + */ + TUint iPTime; + + /** + * Stream's max packet time + */ + TUint iMaxPTime; + }; + + +#endif + +// End of File