Author: ayoung
Date: Wed Feb 24 02:34:30 2010
New Revision: 8561

URL: http://svn.slimdevices.com/jive?rev=8561&view=rev
Log:
bug 15633: cannot switch to SD card content without network 
Make connection-failure for local players be notified more quickly - as
soon as it is detected - rather than having to time out after 20s.

Modified:
    
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua
    7.5/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
    7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
    7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua

Modified: 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua?rev=8561&r1=8560&r2=8561&view=diff
==============================================================================
--- 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua
 (original)
+++ 
7.5/trunk/squeezeplay/src/squeezeplay/share/applets/ChooseMusicSource/ChooseMusicSourceApplet.lua
 Wed Feb 24 02:34:30 2010
@@ -626,8 +626,8 @@
                                        -- with notify_playerNew
 
                                        timeout = timeout + 1
-                                       if timeout > CONNECT_TIMEOUT then
-                                               log:warn("Timeout passed, 
current count: ", timeout)
+                                       if timeout > CONNECT_TIMEOUT or 
player:hasConnectionFailed() then
+                                               log:warn("Connection failure or 
Timeout, current count: ", timeout)
                                                cancelAction()
                                        end
                                end)

Modified: 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua?rev=8561&r1=8560&r2=8561&view=diff
==============================================================================
--- 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua 
(original)
+++ 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/net/SlimProto.lua Wed Feb 
24 02:34:30 2010
@@ -363,9 +363,10 @@
        local obj = oo.rawnew(self, {})
 
        -- connection state UNCONNECTED / CONNECTED
-       obj.state          = UNCONNECTED
-       obj.capabilities  = {}
-       obj.txqueue  = {}
+       obj.state            = UNCONNECTED
+       obj.connectionFailed = false
+       obj.capabilities     = {}
+       obj.txqueue          = {}
 
        -- helo packet sent on connection
        obj.heloPacket     = heloPacket
@@ -458,6 +459,7 @@
 
        log:info("server told us to connect to ", serverip)
 
+       self.connectionFailed = false
        _connectToAddr(self, serverip)
 end
 
@@ -475,6 +477,7 @@
                end
        end
 
+       self.connectionFailed = false
        _connectToAddr(self, serverip)
 end
 
@@ -512,6 +515,7 @@
 
                -- We got a packet so we must be connected
                self.state = CONNECTED
+               self.connectionFailed = false
 
                log:debug("read opcode=", opcode, " #", #data)
 
@@ -663,6 +667,10 @@
         return self.state == CONNECTED
 end
 
+-- Has the connection attempt actually failed
+function hasConnectionFailed(self)
+       return self.connectionFailed
+end
 
 -- Set the callback to get a status packet
 function statusPacketCallback(self, callback)
@@ -767,6 +775,7 @@
        self:disconnect()
 
        self.state = CONNECTING
+       self.connectionFailed = true
        self.reconnectTimer:restart(interval)
 end
 
@@ -777,7 +786,7 @@
                return
        end
 
-       self:connect()
+       self:_connectToAddr(self.serverip)
 end
 
 

Modified: 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua?rev=8561&r1=8560&r2=8561&view=diff
==============================================================================
--- 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua 
(original)
+++ 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/LocalPlayer.lua Wed 
Feb 24 02:34:30 2010
@@ -246,6 +246,12 @@
 function isConnected(self)
        return self.slimproto:isConnected() and Player.isConnected(self)
 end
+
+-- Has the connection attempt actually failed
+function hasConnectionFailed(self)
+       return self.slimproto:hasConnectionFailed()
+end
+
 
 
 function setSignalStrength(self, signalStrength)

Modified: 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua
URL: 
http://svn.slimdevices.com/jive/7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua?rev=8561&r1=8560&r2=8561&view=diff
==============================================================================
--- 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua (original)
+++ 7.5/trunk/squeezeplay/src/squeezeplay/share/jive/slim/Player.lua Wed Feb 24 
02:34:30 2010
@@ -1863,6 +1863,11 @@
        return self.slimServer and self.slimServer:isConnected() and 
self.info.connected
 end
 
+-- Has the connection attempt actually failed
+-- stub that can be overridden in subclass
+function hasConnectionFailed(self)
+       return false
+end
 
 -- return true if the player is available, that is when it is connected
 -- to SqueezeCenter, or in configuration mode (udap or wlan adhoc)

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins

Reply via email to