mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/src/mcertpsource.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 31 Aug 2010 15:12:07 +0300
branchRCL_3
changeset 22 73a1feb507fb
permissions -rw-r--r--
Revision: 201032 Kit: 201035

/*
* 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:  
*
*/


#include "mcertpsource.h"
#include "mcesession.h"
#include "mcemanager.h"
#include "mcemediastream.h"
#include "mcertpobserver.h"

#define KMceTIMERDISABLED 0


// ============================ MEMBER FUNCTIONS ===============================


// -----------------------------------------------------------------------------
// CMceRtpSource::NewL
// -----------------------------------------------------------------------------
//
EXPORT_C CMceRtpSource* CMceRtpSource::NewL(
					   TUint aBufferLength,
					   TUint aBufferTreshold,
					   TUint32 aInactivityTimer,
					   HBufC8* aIdentity )
    {
    CMceRtpSource* self = NewLC( aBufferLength, aBufferTreshold,
    	 aInactivityTimer, aIdentity );
    CleanupStack::Pop( self );
    return self;   
    }

// -----------------------------------------------------------------------------
// CMceRtpSource::NewLC
// -----------------------------------------------------------------------------
//
EXPORT_C CMceRtpSource* CMceRtpSource::NewLC(
					   TUint aBufferLength,
					   TUint aBufferTreshold,
					   TUint32 aInactivityTimer,
					   HBufC8* /*aIdentity*/ )
    {
    CMceRtpSource* self = new (ELeave) CMceRtpSource();
    CleanupStack::PushL( self );
    self->ConstructL( aBufferLength, aBufferTreshold, 
                      aInactivityTimer, NULL );
    return self;
    }


// -----------------------------------------------------------------------------
// CMceRtpSource::~CMceRtpSource
// -----------------------------------------------------------------------------
//
EXPORT_C CMceRtpSource::~CMceRtpSource()
    {
    delete iMediaBurstIndicator;
    }

// -----------------------------------------------------------------------------
// CMceRtpSource::EnableL
// -----------------------------------------------------------------------------
//
EXPORT_C void CMceRtpSource::EnableL() 
    {
    CMceMediaSource::DoEnableL();
    }

// -----------------------------------------------------------------------------
// CMceRtpSource::DisableL
// -----------------------------------------------------------------------------
//
EXPORT_C void CMceRtpSource::DisableL() 
    {
    CMceMediaSource::DoDisableL();
    }


// -----------------------------------------------------------------------------
// CMceRtpSource::EnableInactivityTimerL
// -----------------------------------------------------------------------------
//
EXPORT_C void CMceRtpSource::EnableInactivityTimerL( TUint32 aInactivityTimer ) 
    {
    // Simulate MCE's check
    if ( iStreams[0] &&
         iStreams[0]->Session() &&
         iStreams[0]->Session()->State() != CMceSession::EIdle &&
         iStreams[0]->Session()->State() != CMceSession::EIncoming )
        {
        iInactivityTimer = aInactivityTimer;
        }
    }

// -----------------------------------------------------------------------------
// CMceRtpSource::DisableInactivityTimer
// -----------------------------------------------------------------------------
//
EXPORT_C void CMceRtpSource::DisableInactivityTimerL() 
    {
    iInactivityTimer = KMceTIMERDISABLED;
    }

// -----------------------------------------------------------------------------
// CMceRtpSource::UpdateL
// -----------------------------------------------------------------------------
//
EXPORT_C void CMceRtpSource::UpdateL ( 
                                TUint aBufferLength,
								TUint aBufferTreshold,
								TUint32 aInactivityTimer,
								HBufC8* /*aIdentity*/ )
	{
    iInactivityTimer = aInactivityTimer;
    iBufferLength = aBufferLength;
    iBufferTreshold = aBufferTreshold;
	}

// -----------------------------------------------------------------------------
// CMceRtpSource::SendRRL
// -----------------------------------------------------------------------------
//
EXPORT_C void CMceRtpSource::SendRRL() 
    {
    __ASSERT_ALWAYS( iStreams[0] &&
                     iStreams[0]->Session() &&
                     iStreams[0]->Session()->State() != CMceSession::EIdle &&
                     iStreams[0]->Session()->State() != CMceSession::EIncoming,
                     User::Leave( KErrNotReady ) );
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//	
EXPORT_C TUint32 CMceRtpSource::Ssrc() const
    {
    return 0;
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//	
EXPORT_C const RArray<TUint>& CMceRtpSource::Ssrcs() const
    {
    return iSsrcs;
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//	
EXPORT_C void CMceRtpSource::EnableSsrcL( TUint /*aSsrc*/ )
    {
    }

	
// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//		
EXPORT_C void CMceRtpSource::DisableSsrcL( TUint /*aSsrc*/ )
    {
    }


// -----------------------------------------------------------------------------
// 
// -----------------------------------------------------------------------------
//	
EXPORT_C TBool CMceRtpSource::IsSsrcEnabledL( TUint /*aSsrc*/ )
    {
    return ETrue;
    }
		
	
// -----------------------------------------------------------------------------
// CMceRtpSource::CMceRtpSource
// -----------------------------------------------------------------------------
//
CMceRtpSource::CMceRtpSource()
   : CMceMediaSource()
    {
    iType = KMceRTPSource;
    }


// -----------------------------------------------------------------------------
// CMceRtpSource::ConstructL
// -----------------------------------------------------------------------------
//
void CMceRtpSource::ConstructL( 
                         TUint aBufferLength,
                         TUint aBufferTreshold,
                         TUint32 aInactivityTimer,
                         HBufC8* aMediaBurstIndicator )
    {
  
    iInactivityTimer = aInactivityTimer;
    iBufferLength = aBufferLength;
    iBufferTreshold = aBufferTreshold;
    iMediaBurstIndicator = aMediaBurstIndicator;
    
    }