rtp/rtpstack/tsrc/rtptestapp/src/rtptestapp.h
changeset 29 5f12516512fa
--- /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
+
+