diff -r a5ac35ca6d81 -r 91f50911ea81 multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesecuredesstream.cpp --- a/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesecuredesstream.cpp Tue May 11 16:34:40 2010 +0300 +++ b/multimediacommsengine/mmcesrv/mmcemediamanager/src/mcesecuredesstream.cpp Tue May 25 13:07:26 2010 +0300 @@ -83,12 +83,11 @@ CMccSecureInterface& aSecureInterface, CMceComMediaStream& aMediaStream ): - + iWaitingBinding(EFalse), iSecureSession(aSecureSession), iSecInf(aSecureInterface), iMediaStream(aMediaStream), iIsSAVP(ETrue), - iWaitingBinding(EFalse), iCryptoContextOutId(0), iCryptoContextInId(0), iOldLocalMediaPort(0) @@ -489,10 +488,6 @@ iGnoreSdpMsg = (iCryptoIn.iIfCryptoContextIdSet && iCryptoOut.iIfCryptoContextIdSet ) && !iGnoreSdpMsg ? EFalse : ETrue; - if ( iWaitingBinding ) - { - iSecureSession.BindStreamCrypto(); - } MCEMM_DEBUG("SetCryptoContext(), Exit") } @@ -858,6 +853,10 @@ if ( iSecureSession.iLSReadyToBind ) { SetCryptoContextL(); + if ( iWaitingBinding ) + { + iSecureSession.BindStreamCrypto(); + } } MSG_IGNORE_RETURN() } @@ -1490,8 +1489,10 @@ cryptoOut.iAuthAlgms == aCrypto.iAuthAlgms && cryptoOut.iCryptoSuite.Compare(aCrypto.iCryptoSuite) == 0) { - //SEtCrypto - iCryptoOut.Copy( cryptoOut ); + if(!iCryptoOut.iIfCryptoContextIdSet) + { //SEtCrypto + iCryptoOut.Copy( cryptoOut ); + } iCryptoIn.iTag = cryptoOut.iTag; iCryptoIn.iEncAlgms = cryptoOut.iEncAlgms; iCryptoIn.iAuthAlgms = cryptoOut.iAuthAlgms; @@ -1683,7 +1684,8 @@ { iCryptoOuts->AppendL( aCopyFrom.iCryptoOuts->At( i ) ); } - iOldLocalMediaPort = aCopyFrom.iOldLocalMediaPort; + iOldLocalMediaPort = aCopyFrom.iOldLocalMediaPort; + iWaitingBinding = aCopyFrom.iWaitingBinding; MCEMM_DEBUG( "CMceSecureDesStream::CopyStreamCryptoL Exit" ) }