--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rtp/rtpstack/tsrc/rtptestapp/src/rtptestapp.h Thu Jun 24 14:43:49 2010 +0300
@@ -0,0 +1,128 @@
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+/*
+* Copyright (c) 2004 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: Header for class specific to rtp functional tests
+*
+*/
+
+
+
+#ifndef __RTPTESTAPP_H
+#define __RTPTESTAPP_H
+
+#include "rtpapi.h"
+
+
+// Class Declaration
+class CRtpTestApp : public CBase, public MRtpErrNotify, public MRtcpObserver, public MRtpObserver, public MRtpPostProcessingObserver
+ {
+public:
+
+ static CRtpTestApp* NewL();
+
+ void ConstructL();
+
+ void SendRtpPacketL();
+
+ void SendRtpPacketLoopbackL();
+
+ void SendZeroLengthRtpPacketL();
+
+ ~CRtpTestApp();
+
+ //From observer interface
+ void ErrorNotify( TInt aErrCode ) ;
+
+ // from MRtcpObserver
+
+ void SdesReceived( TRtpSSRC aSSRC,
+ const TRtpSdesParams& aParams );
+
+ void ByeReceived( TRtpId aStreamId, TRtpSSRC aSSRC,
+ const TDesC8& aReason );
+
+ void AppReceived( TRtpId aStreamId, TRtpSSRC aSSRC,
+ const TRtcpApp& aApp );
+
+ void SrReceived( TRtpId aStreamId, TRtpSSRC aSSRC,
+ const TTimeStamps& aTimeStamps );
+
+ void RrReceived( TRtpId aStreamId, TRtpSSRC aSSRC );
+
+ // From MRtpObserver
+ void RtpPacketReceived( TRtpId aStreamId, const TRtpRecvHeader& aHeaderInfo, const TDesC8& aPayloadData );
+
+ // From MRtpPostProcessingObserver
+
+ void ReadyToSendRtpPacket( TRtpId aTranStreamId, TPtr8 &aPacket );
+
+
+ TInt iError;
+ TBool iIgnoreIncrease;
+
+ private:
+ CRtpTestApp();
+ CRtpAPI* iRtpApi ;
+
+ TRtpSdesParams iParams;
+ TCreateSessionParams iSessionParams;
+ TBool iEnableRtcp;
+ TRtcpParams iRtcpParams;
+ TRtpId iSessionId1;
+ TRtpId iSessionId2;
+ TUint iPort1;
+ TUint iPort2;
+ CArrayFixFlat<TUint32>* iCsrclist;
+ TInt iNoOfRtpPackets;
+ TRtpId iS1T1;
+ TRtpId iS2R1;
+ };
+
+
+class CrtpDataSender: public CActive
+ {
+public:
+ static CrtpDataSender* NewL(CRtpAPI* aRtpApi, TRtpId sessId)
+ {
+ CrtpDataSender *pSelf = new(ELeave) CrtpDataSender();
+ pSelf->iRtpApi = aRtpApi;
+ pSelf->iSessId = sessId;
+ return pSelf;
+ }
+
+ virtual void DoCancel()
+ {
+ iRtpApi->CancelSend(iSessId);
+ }
+
+ void RunL();
+
+ void SendRtpData( TRtpSendPktParams& aHeaderInfo , TArray<TRtpCSRC> aCSRCList)
+ {
+ aHeaderInfo.iStatus = &iStatus;
+ iRtpApi->SendRtpPacket(aHeaderInfo, aCSRCList);
+ SetActive();
+ }
+private:
+ CrtpDataSender():CActive(EPriorityStandard)
+ {
+ CActiveScheduler::Add(this);
+ }
+ CRtpAPI *iRtpApi;
+ TRtpId iSessId;
+ };
+
+#endif
+
+