diff -r 65a3ef1d5bd0 -r f742655b05bf sipvoipprovider/src/svprtpobserver.cpp --- a/sipvoipprovider/src/svprtpobserver.cpp Thu Aug 19 09:45:22 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,255 +0,0 @@ -/* -* Copyright (c) 2008 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: Provides RTP observation class -* -*/ - - -#include "svprtpobserver.h" -#include "svprtpobserverrequest.h" -#include "svpsessionbase.h" -#include "svplogger.h" - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::CSVPRtpObserver -// --------------------------------------------------------------------------- -// -CSVPRtpObserver::CSVPRtpObserver() - { - // No implementation required - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::~CSVPRtpObserver -// --------------------------------------------------------------------------- -// -CSVPRtpObserver::~CSVPRtpObserver() - { - iRequestArray.ResetAndDestroy(); - iRequestArray.Close(); - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::NewLC -// --------------------------------------------------------------------------- -// -CSVPRtpObserver* CSVPRtpObserver::NewLC() - { - CSVPRtpObserver* self = new ( ELeave ) CSVPRtpObserver(); - CleanupStack::PushL( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::NewL -// --------------------------------------------------------------------------- -// -CSVPRtpObserver* CSVPRtpObserver::NewL() - { - CSVPRtpObserver* self = CSVPRtpObserver::NewLC(); - CleanupStack::Pop( self ); - return self; - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::SRReceived -// --------------------------------------------------------------------------- -// -void CSVPRtpObserver::SRReceived( CMceSession& aSession, - CMceMediaStream& aStream ) - { - SVPDEBUG1( "CSVPRtpObserver::SRReceived" ) - - CSVPRtpObserverRequest* assocReq = FindByMceSession( &aSession ); - if ( assocReq ) - { - assocReq->RtcpPacketReceived( - CSVPRtpObserverRequest::ERtcpSrPacket, aSession, aStream ); - } - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::RRReceived -// --------------------------------------------------------------------------- -// -void CSVPRtpObserver::RRReceived( CMceSession& aSession, - CMceMediaStream& aStream ) - { - SVPDEBUG1( "CSVPRtpObserver::RRReceived" ) - - CSVPRtpObserverRequest* assocReq = FindByMceSession( &aSession ); - if ( assocReq ) - { - assocReq->RtcpPacketReceived( - CSVPRtpObserverRequest::ERtcpRrPacket, aSession, aStream ); - } - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::InactivityTimeout -// --------------------------------------------------------------------------- -// -void CSVPRtpObserver::InactivityTimeout( CMceMediaStream& /*aStream*/, - CMceRtpSource& /*aSource*/ ) - { - SVPDEBUG1( "CSVPRtpObserver::InactivityTimeout" ) - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::SsrcAdded -// --------------------------------------------------------------------------- -// -void CSVPRtpObserver::SsrcAdded( CMceMediaStream& /*aStream*/, - CMceRtpSource& /*aSource*/, TUint /*aSsrc*/ ) - { - SVPDEBUG1( "CSVPRtpObserver::SsrcAdded" ) - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::SsrcRemoved -// --------------------------------------------------------------------------- -// -void CSVPRtpObserver::SsrcRemoved( CMceMediaStream& /*aStream*/, - CMceRtpSource& /*aSource*/, TUint /*aSsrc*/ ) - { - SVPDEBUG1( "CSVPRtpObserver::SsrcRemoved" ) - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::AddSessionForObservingL -// --------------------------------------------------------------------------- -// -void CSVPRtpObserver::AddSessionForObservingL( CSVPSessionBase* aSession ) - { - SVPDEBUG2( "CSVPRtpObserver::AddSessionForObservingL aSession: 0x%x", - aSession ) - - __ASSERT_ALWAYS( aSession, User::Leave( KErrArgument ) ); - __ASSERT_ALWAYS( !FindBySvpSession( aSession ), - User::Leave( KErrAlreadyExists ) ); - - CSVPRtpObserverRequest* req = CSVPRtpObserverRequest::NewLC( *aSession ); - iRequestArray.AppendL( req ); - CleanupStack::Pop( req ); - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::RemoveSessionFromObserving -// --------------------------------------------------------------------------- -// -TInt CSVPRtpObserver::RemoveSessionFromObserving( CSVPSessionBase* aSession ) - { - SVPDEBUG2( "CSVPRtpObserver::RemoveSessionFromObserving aSession: 0x%x", - aSession ) - - TInt ret = KErrNone; - if ( !aSession ) - { - ret = KErrArgument; - } - else - { - CSVPRtpObserverRequest* todel = FindBySvpSession( aSession ); - if ( todel ) - { - TInt index = iRequestArray.Find( todel ); - iRequestArray.Remove( index ); - delete todel; - } - else - { - ret = KErrNotFound; - } - } - - SVPDEBUG2( "CSVPRtpObserver::RemoveSessionFromObserving ret: %d", ret ) - - return ret; - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::ResetSessionInObserving -// --------------------------------------------------------------------------- -// -TInt CSVPRtpObserver::ResetSessionInObserving( CSVPSessionBase* aSession ) - { - SVPDEBUG2( "CSVPRtpObserver::ResetSessionInObserving aSession: 0x%x", - aSession ) - - TInt ret = KErrNone; - if ( !aSession ) - { - ret = KErrArgument; - } - else - { - CSVPRtpObserverRequest* toreset = FindBySvpSession( aSession ); - if ( toreset ) - { - toreset->Reset(); - } - else - { - ret = KErrNotFound; - } - } - - SVPDEBUG2( "CSVPRtpObserver::ResetSessionInObserving ret: %d", ret ) - - return ret; - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::FindBySvpSession -// --------------------------------------------------------------------------- -// -CSVPRtpObserverRequest* CSVPRtpObserver::FindBySvpSession( - const CSVPSessionBase* aSession ) - { - TInt count = iRequestArray.Count(); - CSVPRtpObserverRequest* ret( NULL ); - while( count-- && !ret && aSession ) - { - if ( aSession == iRequestArray[count]->SvpSession() ) - { - ret = iRequestArray[count]; - } - } - - SVPDEBUG2( "CSVPRtpObserver::FindBySvpSession ret: 0x%x", ret ) - - return ret; - } - -// --------------------------------------------------------------------------- -// CSVPRtpObserver::FindByMceSession -// --------------------------------------------------------------------------- -// -CSVPRtpObserverRequest* CSVPRtpObserver::FindByMceSession( - const CMceSession* aSession ) - { - TInt count = iRequestArray.Count(); - CSVPRtpObserverRequest* ret( NULL ); - while( count-- && !ret && aSession ) - { - if ( aSession == iRequestArray[count]->MceSession() ) - { - ret = iRequestArray[count]; - } - } - - SVPDEBUG2( "CSVPRtpObserver::FindByMceSession ret: 0x%x", ret ) - - return ret; - }