multimediacommscontroller/mmccsubcontroller/src/mccrtpkeepalive.cpp
branchRCL_3
changeset 59 b0e4b01681c5
parent 42 817c922b90eb
equal deleted inserted replaced
55:f72c4fccd381 59:b0e4b01681c5
    60 CMccRtpKeepalive* CMccRtpKeepalive::NewL( 
    60 CMccRtpKeepalive* CMccRtpKeepalive::NewL( 
    61     MAsyncEventHandler& aEventHandler, 
    61     MAsyncEventHandler& aEventHandler, 
    62     CRtpAPI& aRtpAPI,
    62     CRtpAPI& aRtpAPI,
    63     TRtpId aRtpSessionId,
    63     TRtpId aRtpSessionId,
    64     TUint8 aKeepalivePayloadType,
    64     TUint8 aKeepalivePayloadType,
    65     TUint32 aKeepaliveInterval,
    65     TUint8 aKeepaliveInterval,
    66     const TDesC8& aKeepaliveData,
    66     const TDesC8& aKeepaliveData,
    67     TBool aRemoteAddressSet )
    67     TBool aRemoteAddressSet )
    68     {
    68     {
    69     CMccRtpKeepalive* self = 
    69     CMccRtpKeepalive* self = 
    70         new( ELeave ) CMccRtpKeepalive( aEventHandler, aRtpAPI, 
    70         new( ELeave ) CMccRtpKeepalive( aEventHandler, aRtpAPI, 
   218 // ---------------------------------------------------------------------------
   218 // ---------------------------------------------------------------------------
   219 // CMccRtpKeepalive::UpdateParamsL
   219 // CMccRtpKeepalive::UpdateParamsL
   220 // ---------------------------------------------------------------------------
   220 // ---------------------------------------------------------------------------
   221 //   
   221 //   
   222 void CMccRtpKeepalive::UpdateParamsL( TUint8 aKeepalivePT, 
   222 void CMccRtpKeepalive::UpdateParamsL( TUint8 aKeepalivePT, 
   223     TUint32 aKeepaliveInterval, const TDesC8& aKeepaliveData, CMccRtpMediaClock* aRtpMediaClock )
   223     TUint8 aKeepaliveInterval, const TDesC8& aKeepaliveData )
   224     {
   224     {
   225     __SUBCONTROLLER_INT1( 
   225     __SUBCONTROLLER_INT1( 
   226         "CMccRtpKeepalive::UpdateParamsL(), PT:", aKeepalivePT )
   226         "CMccRtpKeepalive::UpdateParamsL(), PT:", aKeepalivePT )
   227     __SUBCONTROLLER_INT1( 
   227     __SUBCONTROLLER_INT1( 
   228         "CMccRtpKeepalive::UpdateParamsL(), INT:", aKeepaliveInterval )
   228         "CMccRtpKeepalive::UpdateParamsL(), INT:", aKeepaliveInterval )
   234     
   234     
   235     HBufC8* tmp = aKeepaliveData.AllocL();
   235     HBufC8* tmp = aKeepaliveData.AllocL();
   236     delete iKeepaliveData;
   236     delete iKeepaliveData;
   237     iKeepaliveData = tmp;    
   237     iKeepaliveData = tmp;    
   238     
   238     
   239     iKeepaliveInterval = aKeepaliveInterval;
   239     const TUint KMccSecsToMicroSecs = 1000000;
   240 	iRtpMediaClock = aRtpMediaClock;
   240     iKeepaliveInterval = aKeepaliveInterval * KMccSecsToMicroSecs;
   241     }
   241     }
   242 
   242 
   243 // ---------------------------------------------------------------------------
   243 // ---------------------------------------------------------------------------
   244 // CMccRtpKeepalive::RunL
   244 // CMccRtpKeepalive::RunL
   245 // ---------------------------------------------------------------------------
   245 // ---------------------------------------------------------------------------
   410     
   410     
   411     TInt err( KErrNone );
   411     TInt err( KErrNone );
   412         
   412         
   413     if ( !IsActive() && ( 0 < iKeepaliveInterval ) )
   413     if ( !IsActive() && ( 0 < iKeepaliveInterval ) )
   414         {
   414         {
   415         if ( iRemoteAddressSet && iRtpMediaClock )
   415         if ( iRemoteAddressSet )
   416             {
   416             {
   417             __SUBCONTROLLER( "CMccRtpKeepalive::StartSending(), issue send timer" )
   417             __SUBCONTROLLER( "CMccRtpKeepalive::StartSending(), issue send timer" )
   418             
   418             
   419             if ( iPreAudioPacketSent || !iRtpSinkExists  )
   419             if ( iPreAudioPacketSent || !iRtpSinkExists  )
   420                 {
   420                 {
   546 // Symbian 2nd phase constructor can leave.
   546 // Symbian 2nd phase constructor can leave.
   547 // ---------------------------------------------------------------------------
   547 // ---------------------------------------------------------------------------
   548 //
   548 //
   549 void CMccRtpKeepalive::ConstructL( 
   549 void CMccRtpKeepalive::ConstructL( 
   550     TUint8 aKeepalivePayloadType,
   550     TUint8 aKeepalivePayloadType,
   551     TUint32 aKeepaliveInterval,
   551     TUint8 aKeepaliveInterval,
   552     const TDesC8& aKeepaliveData )
   552     const TDesC8& aKeepaliveData )
   553     {
   553     {
   554     __SUBCONTROLLER( "CMccRtpKeepalive::ConstructL()" )
   554     __SUBCONTROLLER( "CMccRtpKeepalive::ConstructL()" )
   555     
   555     
   556     User::LeaveIfError( iTimer.CreateLocal() );
   556     User::LeaveIfError( iTimer.CreateLocal() );
   559                      User::Leave( KErrArgument ) );
   559                      User::Leave( KErrArgument ) );
   560     
   560     
   561     iRtpHeaderInfo.iMarker = 0;
   561     iRtpHeaderInfo.iMarker = 0;
   562     
   562     
   563     UpdateParamsL( aKeepalivePayloadType, aKeepaliveInterval, 
   563     UpdateParamsL( aKeepalivePayloadType, aKeepaliveInterval, 
   564         aKeepaliveData, NULL );
   564         aKeepaliveData );
   565     
   565     
   566     iSequenceNum = Random();
   566     iSequenceNum = Random();
   567     
   567     
   568     iInitialTime.UniversalTime();
   568     iInitialTime.UniversalTime();
   569     
   569