--- a/sipvoipprovider/src/svpsessionbase.cpp Wed Mar 31 21:20:05 2010 +0300
+++ b/sipvoipprovider/src/svpsessionbase.cpp Wed Apr 14 15:49:55 2010 +0300
@@ -1574,6 +1574,18 @@
SVPDEBUG1( "CSVPSessionBase::HandleStreamStateChange - Resume ICMP, Sink" )
TRAP_IGNORE( StartTimerL( KSVPSinkResumeICMPErrorTime, KSVPSinkResumeICMPErrorTimerExpired ) )
}
+
+ else if ( !HasHoldController() && !aSink.IsEnabled() && CMceSession::EEstablished == sessionState &&
+ CMceMediaStream::EDisabled == aStream.State() )
+ {
+ // Not a hold case, mediaStream and sink is disabled -> try enable after a while
+ SVPDEBUG1( "CSVPSessionBase::HandleStreamStateChange - ICMP, Sink and MediaStream" )
+ if ( !IsSessionMuted() )
+ {
+ SVPDEBUG1( "CSVPSessionBase::HandleStreamStateChange - ICMP, Sink not enabled -> enable" )
+ aSink.EnableL();
+ }
+ }
}
SVPDEBUG1( "CSVPSessionBase::HandleStreamStateChange(aStream,aSink) Out" )
@@ -1616,6 +1628,18 @@
SVPDEBUG1( "CSVPSessionBase::HandleStreamStateChange - Resume ICMP, Source" )
TRAP_IGNORE( StartTimerL( KSVPSourceResumeICMPErrorTime, KSVPSourceResumeICMPErrorTimerExpired ) )
}
+
+ else if ( !HasHoldController() && !aSource.IsEnabled() && CMceSession::EEstablished == sessionState &&
+ CMceMediaStream::EDisabled == aStream.State() )
+ {
+ // Not a hold case, mediaStream and source is disabled -> try enable after a while
+ SVPDEBUG1( "CSVPSessionBase::HandleStreamStateChange - ICMP, Source and MediaStream" )
+ if ( !IsSessionMuted() )
+ {
+ SVPDEBUG1( "CSVPSessionBase::HandleStreamStateChange - ICMP, Source not enabled -> enable" )
+ aSource.EnableL();
+ }
+ }
}
SVPDEBUG1( "CSVPSessionBase::HandleStreamStateChange(aStream,aSource) Out" )