aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Grozev <boris@jitsi.org>2013-08-05 13:16:32 +0300
committerBoris Grozev <boris@jitsi.org>2013-08-05 14:25:39 +0300
commitce0f4d86fb0983c86d2948e3e834e88979ddd55f (patch)
tree7a15cb2753dd6c8c2885883b21b541347b9bee78
parentd0a429733247c9aee602d28387dd2e4289bf2bdd (diff)
downloadjitsi-ce0f4d86fb0983c86d2948e3e834e88979ddd55f.zip
jitsi-ce0f4d86fb0983c86d2948e3e834e88979ddd55f.tar.gz
jitsi-ce0f4d86fb0983c86d2948e3e834e88979ddd55f.tar.bz2
Set stream directions to INACTIVE when using local hold in a conference.
-rw-r--r--src/net/java/sip/communicator/service/protocol/media/CallPeerMediaHandler.java23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/net/java/sip/communicator/service/protocol/media/CallPeerMediaHandler.java b/src/net/java/sip/communicator/service/protocol/media/CallPeerMediaHandler.java
index ab87b52..d158c53 100644
--- a/src/net/java/sip/communicator/service/protocol/media/CallPeerMediaHandler.java
+++ b/src/net/java/sip/communicator/service/protocol/media/CallPeerMediaHandler.java
@@ -1549,23 +1549,26 @@ public abstract class CallPeerMediaHandler<T extends MediaAwareCallPeer<?,?,?>>
if(locallyOnHold)
{
MediaStream audioStream = getStream(MediaType.AUDIO);
+ MediaDirection direction
+ = getPeer().getCall().isConferenceFocus()
+ ? MediaDirection.INACTIVE
+ : audioStream.getDirection().and(MediaDirection.SENDONLY);
if(audioStream != null)
{
- audioStream.setDirection(
- audioStream.getDirection().and(
- MediaDirection.SENDONLY));
- audioStream.setMute(locallyOnHold);
+ audioStream.setDirection(direction);
+ audioStream.setMute(true);
}
MediaStream videoStream = getStream(MediaType.VIDEO);
+ direction = getPeer().getCall().isConferenceFocus()
+ ? MediaDirection.INACTIVE
+ : videoStream.getDirection().and(MediaDirection.SENDONLY);
if(videoStream != null)
{
- videoStream.setDirection(
- videoStream.getDirection().and(
- MediaDirection.SENDONLY));
- videoStream.setMute(locallyOnHold);
+ videoStream.setDirection(direction);
+ videoStream.setMute(true);
}
}
/*
@@ -1580,7 +1583,7 @@ public abstract class CallPeerMediaHandler<T extends MediaAwareCallPeer<?,?,?>>
{
audioStream.setDirection(
audioStream.getDirection().or(MediaDirection.SENDONLY));
- audioStream.setMute(locallyOnHold);
+ audioStream.setMute(false);
}
MediaStream videoStream = getStream(MediaType.VIDEO);
@@ -1590,7 +1593,7 @@ public abstract class CallPeerMediaHandler<T extends MediaAwareCallPeer<?,?,?>>
{
videoStream.setDirection(
videoStream.getDirection().or(MediaDirection.SENDONLY));
- videoStream.setMute(locallyOnHold);
+ videoStream.setMute(false);
}
}
}