diff --git a/src/net/java/sip/communicator/impl/neomedia/MediaStreamImpl.java b/src/net/java/sip/communicator/impl/neomedia/MediaStreamImpl.java
index 5fcdbdaec..09be4f3ad 100644
--- a/src/net/java/sip/communicator/impl/neomedia/MediaStreamImpl.java
+++ b/src/net/java/sip/communicator/impl/neomedia/MediaStreamImpl.java
@@ -200,11 +200,6 @@ else if (MediaDeviceSession.SSRC_LIST.equals(propertyName))
*/
private final SrtpControl srtpControl;
- /**
- * Needed when restarting zrtp control.
- */
- private boolean zrtpRestarted = false;
-
/**
* Number of received sender reports.
* Used only for logging and debug purposes.
@@ -508,7 +503,6 @@ public void close()
closeSendStreams();
srtpControl.cleanup();
- zrtpRestarted = false;
if(csrcEngine != null)
{
@@ -1106,46 +1100,6 @@ public SrtpControl getSrtpControl()
return srtpControl;
}
- /**
- * Resets the state of secure communication and restart the secure
- * communication negotiation.
- */
- private void restartZrtpControl()
- {
- /*
- * If there is no current secure communication, we don't need to do
- * that.
- */
- if(!srtpControl.getSecureCommunicationStatus())
- return;
-
- srtpControl.cleanup();
-
- /*
- * As we are recreating this stream and it was obviously secured, it may
- * happen so that we receive unencrypted data. Which will produce noise
- * for us to hear. So we mute it till a secure connection is again
- * established.
- */
- // disable it because it can cause problems when switching from camera
- // to desktop sharing. Moreover if ZRTP see unencrypted packets, it will
- // not try to decrypt them (maybe the noise come from the decryption of
- // unencrypted data).
- //zrtpControl.getZrtpEngine().setStartMuted(true);
-
- AbstractRTPConnector rtpConnector = getRTPConnector();
-
- srtpControl.setConnector(rtpConnector);
- if(rtpConnector instanceof RTPTransformUDPConnector)
- ((RTPTransformUDPConnector)rtpConnector)
- .setEngine(createTransformEngineChain());
- else if(rtpConnector instanceof RTPTransformTCPConnector)
- ((RTPTransformTCPConnector)rtpConnector)
- .setEngine(createTransformEngineChain());
-
- zrtpRestarted = true;
- }
-
/**
* Determines whether this MediaStream is set to transmit "silence"
* instead of the media being fed from its MediaDevice. "Silence"
@@ -1193,9 +1147,6 @@ private void recreateSendStreams()
{
closeSendStreams();
- // this will restart and reinit zrtp control if needed.
- //restartZrtpControl();
-
if ((getDeviceSession() != null) && (rtpManager != null))
{
if (MediaDirection.SENDONLY.equals(startedDirection)
@@ -1460,6 +1411,8 @@ public void setDirection(MediaDirection direction)
{
if (direction == null)
throw new NullPointerException("direction");
+ if(this.direction == direction)
+ return;
if(logger.isTraceEnabled())
logger.trace("Changing direction of stream " + hashCode()
@@ -1511,6 +1464,11 @@ public void setDirection(MediaDirection direction)
*/
public void setFormat(MediaFormat format)
{
+ if (getDeviceSession() != null &&
+ getDeviceSession().getFormat() != null &&
+ getDeviceSession().getFormat().equals(format))
+ return;
+
if (logger.isTraceEnabled())
logger.trace(
"Changing format of stream " + hashCode()
@@ -2319,6 +2277,9 @@ private void printFlowStatistics(RTPManager rtpManager)
{
try
{
+ if(!logger.isInfoEnabled())
+ return;
+
//print flow statistics.
GlobalTransmissionStats s = rtpManager.getGlobalTransmissionStats();