--- 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" )
}