--- a/tsrc/mceclientstub/inc/mcecodec.h Tue Feb 02 00:09:07 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,412 +0,0 @@
-/*
-* 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:
-*
-*/
-
-
-#ifndef MCECODEC_H
-#define MCECODEC_H
-
-// INCLUDES
-#include <e32base.h>
-#include "mcedefs.h"
-
-// FORWARD DECLARATIONS
-class RReadStream;
-class RWriteStream;
-class CMceComCodec;
-
-class CMceMediaStream;
-class TMceEvent;
-class TMceMediaId;
-class TMceFactory;
-
-// DATA TYPES
-typedef TUint TMceCodecType;
-
-
-// CLASS DECLARATION
-
-/**
-* Base class for codecs.
-*
-* It defines setters and getters for generic codec attributes.
-*
-* In some systems certain device resources cannot be shared. For example
-* speaker of the device might not be able to play simultaneously several
-* differently encoded audio streams. Or only one client at the time
-* could use the camera of the device. Codec states can be used to overcome
-* situations where single codec would occupy some resource for excessive
-* period of time or permanently.
-*
-* Codec can be in one of the three states:
-*
-* When codec is in state EEnabled, resources, associated with the codec,
-* are reserved for the codec and in some cases cannot be used by other
-* software components. Precondition for reserving resources for the codec
-* is that associated device resource (e.g. speaker sink of downlink or
-* camera source of uplink) is also enabled.
-*
-* When codec is in state EStandby, resources are not reserved for the codec
-* and therefore can be used by other software components. If the stream
-* (uplink or downlink), into which this codec is attached, encounters data
-* encoded with the codec, codec in state EStandby is tried to be enabled.
-* If enabling succeeds, codec state changes to EEnabled and associated
-* resources are reserved.
-*
-* When codec is in state EDisabled, resources are not reserved for the codec
-* and are not even tried to be reserved.
-*
-* @lib mceclient.lib
-*/
-class CMceCodec : public CBase
- {
-
- public: // Codec states
-
- enum TState
- {
- EDisabled,
- EStandby,
- EEnabled
- };
-
- public: // Constructors and destructor
-
- /**
- * Destructor.
- */
- virtual ~CMceCodec();
-
- public: // New functions
-
- /**
- * Sets bitrate used with codec for encoding.
- * @param aBitrate bitrate value for encoding
- * @return KErrNotSupported if codec doesn't support bitrate
- * value issued
- */
- virtual TInt SetBitrate( TUint aBitrate ) = 0;
-
- /**
- * Sets bitrates allowed with codec.
- * @param aBitrates allowed bitrate values
- * @return KErrNotSupported if codec doesn't support bitrate
- * values issued
- */
- virtual TInt SetAllowedBitrates( TUint aBitrates ) = 0;
-
- /**
- * Sets the codec specific mode.
- * @param aCodecMode mode of the codec
- * @return KErrNotSupported if codec doesnt' support codec mode
- * value issued
- */
- virtual TInt SetCodecMode( TUint aCodecMode ) = 0;
-
- /**
- * Sets the payload type.
- * @param aPayloadType type identifier of the payload
- * @return KErrNotSupported if codec doesn't support payload type issued
- */
- virtual TInt SetPayloadType( TUint8 aPayloadType ) = 0;
-
-
- public: // New functions
-
- /**
- * Sets the state of the codec.
- * @param aState desired codec state
- */
- IMPORT_C void SetStateL( CMceCodec::TState aState );
-
- /**
- * Sets the timer period in seconds from starting of inactivity
- * to automatically changing to state CMceCodec::EStandby .
- * @param aTimerValue timer period in seconds
- */
- IMPORT_C void SetStandByTimerL( TUint32 aTimerValue );
-
- /**
- * Sets MMF priority value for the codec.
- * @param aPriority priority of the codec
- */
- IMPORT_C void SetMMFPriorityL( TInt aPriority );
-
- /**
- * Sets MMF priority preference value for the codec.
- * @param aPriorityPreference priority preference of the codec
- */
- IMPORT_C void SetMMFPriorityPreferenceL( TInt aPriorityPreference );
-
- /**
- * Set keep alive packets send timer value.
- * @param aTimerValue timer value in ms for keep alive packets
- * @return One of the standard system-wide error codes.
- */
- IMPORT_C void SetKeepAliveTimerL( TUint8 aTimerValue );
-
- /**
- * Set keep alive packets payload type.
- * @param aKeepAlivePT payload type for keep alive packets
- * @return One of the standard system-wide error codes.
- */
- IMPORT_C void SetKeepAlivePayloadTypeL( TUint8 aKeepAlivePT );
-
- /**
- * Set keep alive packets payload data.
- * @param aData payload data for keep alive packets
- * @return One of the standard system-wide error codes.
- */
- IMPORT_C void SetKeepAliveDataL( const TDesC8& aData );
-
-
- public: // Getters
-
- /**
- * Gets the state of the codec
- * @return state of the codec
- */
- IMPORT_C CMceCodec::TState State() const;
-
- /**
- * Media id of the codec.
- * @return media id
- */
- //IMPORT_C TMceMediaId Id() const;
-
- /**
- * Type of the codec
- * @return codec type
- */
- IMPORT_C TMceCodecType Type() const;
-
- /**
- * Gets codec fourCC.
- * @return fourCC value
- */
- IMPORT_C TUint32 FourCC() const;
-
- /**
- * Gets current bitrate.
- * @return bitrate value
- */
- IMPORT_C TUint Bitrate() const;
-
- /**
- * Gets allowed bitrate values.
- * @return bitrate values
- */
- IMPORT_C TUint AllowedBitrates() const;
-
- /**
- * Gets current frame size of the codec.
- * @return size of single frame used by the codec
- */
- IMPORT_C TUint FrameSize() const;
-
- /**
- * Gets the codec mode.
- * @return codec mode
- */
- IMPORT_C TUint CodecMode() const;
-
- /**
- * Gets the payload type identifier.
- * @return payload type used
- */
- IMPORT_C TUint8 PayloadType() const;
-
- /**
- * Gets the sdp name.
- * @return sdp name of the codec
- */
- IMPORT_C const TDesC8& SdpName() const;
-
- /**
- * Gets MMF priority
- * @return MMF priority
- */
- IMPORT_C TInt MMFPriority() const;
-
- /**
- * Gets MMF priority preference
- * @return current MMFPriorityPreference
- */
- IMPORT_C TInt MMFPriorityPreference() const;
-
- /**
- * Gets keep alive packets send timer value.
- * @return keep alive packets send timer value (ms).
- */
- IMPORT_C TUint8 KeepAliveTimer() const;
-
- /**
- * Gets keep alive packets payload type.
- * @return keep alive packets payload type.
- */
- IMPORT_C TUint8 KeepAlivePayloadType() const;
-
- /**
- * Gets keep alive packets payload data.
- * @return keep alive packets payload data.
- */
- IMPORT_C const TDesC8& KeepAliveData() const;
-
-
- public: // Preference manipulation
-
- /**
- * Gets the preference value.
- * @return preference value of the codec
- */
- IMPORT_C TInt Preference() const;
-
- /**
- * Sets the preference value used in media negotiation.
- * Codec with preference value 0 is considered as the most preferenced
- * codec. Preference of codecs with the same preference value is
- * determined by order they were added to the stream.
- * @param aPreference preference value of the codec
- */
- IMPORT_C void SetPreferenceL( TInt aPeference );
-
-
- public: // Internal
-
- /**
- * Initializes the codec.
- * @param aParent the parent
- */
- virtual void InitializeL( CMceMediaStream& aParent );
-
-
-
- protected: // New functions
-
- /**
- * Sets the sdp name.
- * @param aSdpName sdp name for the codec
- */
- virtual void SetSdpNameL( const TDesC8& aSdpName ) = 0;
-
- /**
- * C++ default constructor.
- */
- CMceCodec();
-
- protected: // Data
-
- /**
- * Codec type.
- */
- TMceCodecType iType;
-
- protected: // NOT owned data
-
- /**
- * Parent stream, not owned.
- */
- CMceMediaStream* iStream;
-
- private: // Reserved for future use
-
- TAny* iReserved;
-
- public: // stub data
-
- /**
- * type of session
- */
- //TMceMediaId iID;
-
- /**
- * Fmtp attribute
- */
- HBufC8* iFmtpAttr;
-
- /**
- * Sdp name used in SDP messages
- */
- TBuf8<KMceMaxSdpNameLength> iSdpName;
-
- /**
- * Payload type
- */
- TUint8 iPayloadType;
-
- /**
- * Is enabled
- */
- TBool iIsEnabled;
-
- /**
- * Stream's bit rate
- */
- TUint iBitrate;
-
- /**
- * Stream's allowed bit rates
- */
- TUint32 iAllowedBitrates;
-
- /**
- * Codec mode ( e.g. PCMU, PCMA, Bandwidth efficient, octet aligned )
- */
- TUint32 iCodecMode;
-
- /**
- * Codec FourCC
- */
- TUint32 iFourCC;
-
- /**
- * Codecs frame size
- */
- TUint iFrameSize;
-
- /**
- *
- */
- TInt iMMFPriority;
-
- /**
- *
- */
- TInt iMMFPriorityPreference;
-
- /**
- *
- */
- TUint8 iKeepAliveTimer;
-
- /**
- * Codecs frame size
- */
- TUint8 iKeepAlivePayloadType;
-
- /**
- *
- */
- TBuf8<10> iKeepAliveData;
-
- TInt iPreference;
-
- };
-
-
-#endif
-
-// End of File