|
|
|
|
@ -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)
|
|
|
|
|
{
|
|
|
|
|
|