sipvoipprovider/src/svpsessionbase.cpp
branchRCL_3
changeset 11 6134b5029079
parent 9 bddb6d4447db
child 16 df4dfb214df5
--- 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" )