Improves call peer listener subscription for jabber desktop sharing server.

cusax-fix
Vincent Lucas 14 years ago
parent c9c68439d0
commit d1835c8e95

@ -30,6 +30,7 @@
* protocol.
*
* @author Sebastien Vincent
* @author Vincent Lucas
*/
public class OperationSetDesktopSharingServerJabberImpl
extends OperationSetDesktopStreamingJabberImpl
@ -64,12 +65,10 @@ public void peerStateChanged(CallPeerChangeEvent evt)
CallPeerState state = peer.getState();
if (state != null
&& callPeers.contains(peer.getAddress())
&& (state.equals(CallPeerState.DISCONNECTED)
|| state.equals(CallPeerState.FAILED)))
{
disableRemoteControl(peer);
peer.removeCallPeerListener(callPeerListener);
}
}
};
@ -124,7 +123,6 @@ public Call createVideoCall(String uri, MediaDevice device)
CallJabberImpl call
= (CallJabberImpl) super.createVideoCall(uri, device);
CallPeerJabberImpl callPeer = call.getCallPeers().next();
callPeer.addCallPeerListener(callPeerListener);
size
= (((VideoMediaFormat)
@ -155,7 +153,6 @@ public Call createVideoCall(Contact callee, MediaDevice device)
CallJabberImpl call
= (CallJabberImpl) super.createVideoCall(callee, device);
CallPeerJabberImpl callPeer = call.getCallPeers().next();
callPeer.addCallPeerListener(callPeerListener);
size
= ((VideoMediaFormat)
@ -269,7 +266,6 @@ protected Call createOutgoingVideoCall(
CallPeerJabberImpl callPeer
= new CallPeerJabberImpl(calleeAddress, call);
callPeer.addCallPeerListener(callPeerListener);
return call;
}
@ -326,6 +322,7 @@ public void setLocalVideoAllowed(Call call,
*/
public void enableRemoteControl(CallPeer callPeer)
{
callPeer.addCallPeerListener(callPeerListener);
this.modifyRemoteControl(callPeer, true);
}
@ -338,6 +335,7 @@ public void enableRemoteControl(CallPeer callPeer)
public void disableRemoteControl(CallPeer callPeer)
{
this.modifyRemoteControl(callPeer, false);
callPeer.removeCallPeerListener(callPeerListener);
}
/**
@ -550,22 +548,21 @@ public void processMouseEvent(MouseEvent event)
*/
public void modifyRemoteControl(CallPeer callPeer, boolean enables)
{
DiscoverInfo discoverInfo
= ((CallPeerJabberImpl) callPeer).getDiscoverInfo();
if(this.parentProvider.getDiscoveryManager()
.includesFeature(InputEvtIQ.NAMESPACE_SERVER)
&& discoverInfo != null
&& discoverInfo.containsFeature(InputEvtIQ.NAMESPACE_CLIENT))
synchronized(callPeers)
{
if(logger.isInfoEnabled())
logger.info("Enable remote control");
CallJabberImpl call = (CallJabberImpl)callPeer.getCall();
synchronized(callPeers)
if(callPeers.contains(callPeer.getAddress()) != enables)
{
if(callPeers.contains(callPeer.getAddress()) != enables)
DiscoverInfo discoverInfo
= ((CallPeerJabberImpl) callPeer).getDiscoverInfo();
if(this.parentProvider.getDiscoveryManager()
.includesFeature(InputEvtIQ.NAMESPACE_SERVER)
&& discoverInfo != null
&& discoverInfo.containsFeature(
InputEvtIQ.NAMESPACE_CLIENT))
{
if(logger.isInfoEnabled())
logger.info("Enables remote control: " + enables);
InputEvtIQ inputIQ = new InputEvtIQ();
if(enables)
{

Loading…
Cancel
Save