diff -r 000000000000 -r 1bce908db942 multimediacommsengine/tsrc/mccstub/inc/CMCCController_stub.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/multimediacommsengine/tsrc/mccstub/inc/CMCCController_stub.h Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,284 @@ +/* +* 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 CMccCONTROLLERSTUB_H +#define CMccCONTROLLERSTUB_H + +#include +#include +#include "mceclientserver.h" + +class MMccCtrlObserver; + +const TInt KMce_MM_MaxArray = 50; +const TUint32 KMce_MM_LinkIdBase = 500; +const TUint32 KMce_MM_StreamIdBase = 1; +const TUint32 KMce_MM_EndpointIdBase = 1; + +const TUint32 KNoEndpointId = 0; + +class CMccControllerStub : public CBase + { + +public: + + enum TMMCActionType + { + ENone = -1, + EMccClose, + EMccCreateSession, + EMccSetRemoteAddress, + EMccCloseSession, + EMccCreateLink, + EMccCloseLink, + EMccCreateStream, + EMccPrepareStream, + EMccInactivityTimerStart, + EMccInactivityTimerStop, + EMccDeleteStream, + EMccStartStream, + EMccStopStream, + EMccPauseStream, + EMccResumeStream, + EMccGetCodec, + EMccGetFmtpAttr, + EMccSetCodec, + EMccGetSupportedCodecs, + EMccStreamSettings, + EMccSetAudioPriority, + EMccCancel, + EMccSendMediaSignal, + EMccSendRtcpRR, + EMccSendRtcpSR, + EMccSendRtcpData, + EMccGetSupportedBitrates, + EMccGetSSRC, + EMccGetSinkId, + EMccGetSourceId, + EMccEnableViewFinder, + EMccDisableViewFinder, + EMccGetCamInfo, + EMccGetNumOfCams, + EMccSetCamValue1, + EMccGetCamValue1, + EMccSetCamValue2, + EMccGetCamValue2, + EMccLinkExists, + EMccStreamsExists, + EMccUpdateDataSource, + EMccUpdateDataSink, + EMccEnableDisplay, + EMccDisableDisplay, + EMccReuse, + EMccSetAudioRoute, + EMccGetAudioRoute, + EMccTranscodeFile, + EMccCancelTranscodeFile, + EMccRemoveDataSource, + EMccRemoveDataSink + }; + + class TAction + { + public: + inline TAction() + { + iAction = ENone; + iSessionID = KMceNotAssigned; + iLinkID = KMceNotAssigned; + iStreamID = KMceNotAssigned; + iEndpointID = KMceNotAssigned; + iLinkType = KMceNotAssigned; + iStreamType = KMceNotAssigned; + iPaused = KMceNotAssigned; + iEnableRTCP = KMceNotAssigned; + iKey = KMceNotAssigned; + iParamSet = KMceNotAssigned; + iEventType = KMceNotAssigned; + }; + + TMMCActionType iAction; + TUint32 iSessionID; + TUint32 iLinkID; + TUint32 iStreamID; + TUint32 iEndpointID; + TUint32 iLinkType; + TUint32 iStreamType; + TUint32 iPaused; + TUint32 iEnableRTCP; + TUint32 iKey; + TUint32 iParamSet; + TUint32 iEventType; + + }; + + class TCodecInfo + { + public: + inline TCodecInfo() + { + iSessionID = KMceNotAssigned; + iLinkID = KMceNotAssigned; + iStreamID = KMceNotAssigned; + } + + public: + TUint32 iFourCC; + TUint32 iAlgoUsed; + TUint32 iBitrate; + TUint32 iCodecMode; + TUint32 iEnableDTX; + TUint32 iMaxPtime; + TUint32 iPtime; + TUint32 iPayloadType; + TUint32 iRedundantPayload; + TUint32 iRedundancyCount; + TUint32 iFrameSize; + TUint32 iHwFrameTime; + TUint32 iBitrateMask; + TUint32 iMaxBitrate; + TUint32 iAverageBitrate; + TUint32 iFramerate; + TUint32 iVideoWidth; + TUint32 iVideoHeight; + TUint32 iJitterBufInactivityTimeOut; + TUint32 iJitterBufThreshold; + TUint32 iJitterBufBufferLength; + TUint32 iJitterBufPlayToneTimeout; + TUint32 iJitterBufPlayToneFrequency; + TUint32 iJitterBufPlayToneDuration; + TUint32 iSessionID; + TUint32 iLinkID; + TUint32 iStreamID; + }; + + class TLink + { + public: + inline TLink() + { + iSessionID = KMceNotAssigned; + iLinkID = KMceNotAssigned; + iStreams = 0; + } + TUint32 iSessionID; + TUint32 iLinkID; + TInt iStreams; + }; + +public: + + static void OpenL(); + static void Close(); + static CMccControllerStub* Stub(); + + void Reset( TBool aAll = EFalse ); + TInt ControllerCalled( TMMCActionType aAction, + TUint32 aSessionID = KMceNotAssigned, + TUint32 aLinkID = KMceNotAssigned, + TUint32 aStreamID= KMceNotAssigned, + TUint32 aEndpointID = KMceNotAssigned, + TUint32 aLinkType = KMceNotAssigned, + TUint32 aStreamType = KMceNotAssigned); + + TInt ControllerStreamCtrCalled( TMMCActionType aAction, + TUint32 aSessionID, + TUint32 aLinkID, + TUint32 aStreamID, + TUint32 aEndpointID, + TUint32 aPaused = EFalse, + TUint32 aEnableRTCP = ETrue ); + + TInt ControllerStreamSettings( TUint32 aSessionID, + TUint32 aLinkID, + TUint32 aStreamID, + TUint32 aEndpointID, + TUint32 aKey, + TUint32 aSet ); + + TInt ControllerSignal( TUint32 aSessionID, + TUint32 aLinkID, + TUint32 aStreamID, + TUint32 aEndpointID, + TUint32 aSignal, + TUint32 aSet ); + + TInt ControllerSignal( TUint32 aSessionID, + TUint32 aLinkID, + TUint32 aStreamID, + TUint32 aEndpointID, + TUint32 aEventType ); + + + void SetCodec( TCodecInfo aCodecInfo ); + void GetCodec( TCodecInfo& aCodecInfo ); + + void CreateStream( TLink aLink ); + TLink& GetLink( const TLink& aLink ); + + + TUint32 NextSessionId(); + TUint32 NextLinkId(); + TUint32 NextStreamId(); + TUint32 NextEndpointId(); + + TBool StreamsExists( TUint32 aSessionId, TUint32 aLinkId ); + ~CMccControllerStub(); + +private: + + CMccControllerStub(); + + +public://data + + TAction iActions[KMce_MM_MaxArray]; + TInt iActionPtr; + + + TUint32 iSessionID; + TUint32 iLinkID; + TUint32 iStreamID; + TUint32 iEndpointID; + + TInt iLeaveError; + + MMccCtrlObserver* iObserver; + + TBool iRequireSignalling; + + TUint32 iRefCount; + TInt iStreamExists; + +public: //codec data + + TCodecInfo iCodecs[KMce_MM_MaxArray]; + TLink iLinks[ KMce_MM_MaxArray ]; + + TBool iSetFmtpFailure; + + }; + + + +#endif //CMccCONTROLLERSTUB_H + +// End of File