diff options
author | Boris Grozev <boris@jitsi.org> | 2013-08-05 13:16:32 +0300 |
---|---|---|
committer | Boris Grozev <boris@jitsi.org> | 2013-08-05 14:25:39 +0300 |
commit | ce0f4d86fb0983c86d2948e3e834e88979ddd55f (patch) | |
tree | 7a15cb2753dd6c8c2885883b21b541347b9bee78 | |
parent | d0a429733247c9aee602d28387dd2e4289bf2bdd (diff) | |
download | jitsi-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.java | 23 |
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); } } } |