From 44d4fe130f75bad4c5e01cb575e16e030a975d24 Mon Sep 17 00:00:00 2001
From: Vincent Lucas <chenzo@jitsi.org>
Date: Thu, 5 Jul 2012 10:42:23 +0000
Subject: [PATCH] Updates the detection of a remote desktop sharing call via
 the new Controls of imgstreaming.DataSource, in order to display a desktop
 icon as the local visual.

---
 .../impl/neomedia/device/VideoMediaDeviceSession.java  | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/org/jitsi/impl/neomedia/device/VideoMediaDeviceSession.java b/src/org/jitsi/impl/neomedia/device/VideoMediaDeviceSession.java
index 46cd21b9..9f9ec3b6 100644
--- a/src/org/jitsi/impl/neomedia/device/VideoMediaDeviceSession.java
+++ b/src/org/jitsi/impl/neomedia/device/VideoMediaDeviceSession.java
@@ -21,6 +21,7 @@
 import org.jitsi.impl.neomedia.*;
 import org.jitsi.impl.neomedia.codec.video.*;
 import org.jitsi.impl.neomedia.codec.video.h264.*;
+import org.jitsi.impl.neomedia.control.*;
 import org.jitsi.impl.neomedia.format.*;
 import org.jitsi.impl.neomedia.transform.*;
 import org.jitsi.service.libjitsi.*;
@@ -594,12 +595,13 @@ public Component createLocalVisualComponent(boolean flip)
 
         if (captureDevice != null)
         {
-            MediaLocator locator = captureDevice.getLocator();
+            Object imgStreamingControl
+                = captureDevice.getControl(ImgStreamingControl.class.getName());
 
-            if ((locator != null)
-                    && DeviceSystem.LOCATOR_PROTOCOL_IMGSTREAMING.equals(
-                            locator.getProtocol()))
+            if (imgStreamingControl != null)
+            {
                 return createLocalVisualComponentForDesktopStreaming();
+            }
         }
 
         /*
-- 
GitLab