Author: bklaas
Date: Wed Apr 13 09:51:41 2011
New Revision: 9419

URL: http://svn.slimdevices.com/jive?rev=9419&view=rev
Log:
Fixed Bug: 16663
Description: require 6 consecutive failed states for audio decode status (i.e., 
nothing playing out the speaker) when an alarm is active and not in snooze

also, rearrange a few log messages in AlarmSnooze to prevent over-the-top 
printing of console messages that didn't apply to the local player

Modified:
    
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua

Modified: 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua?rev=9419&r1=9418&r2=9419&view=diff
==============================================================================
--- 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua
 (original)
+++ 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua
 Wed Apr 13 09:51:41 2011
@@ -59,6 +59,7 @@
 
        self.debugRTCTime = timeToAlarm
        self.debugWOLTime = 0
+       self.failedAudioTicker = 0
        self.RTCAlarmTimer = Timer(timeToAlarm,
                        function ()
                                log:warn("RTC ALARM FIRING")
@@ -119,7 +120,7 @@
                self:_startTimer()
        end
 
-       self.decodeStatePoller = Timer(10000, 
+       self.decodeStatePoller = Timer(5000, 
                function ()
                        self:_pollDecodeState()
                end,
@@ -240,6 +241,15 @@
 
        log:warn('alarm_sledgehammerRearm(', caller,'): ', 
self.alarmInProgress, ' alarm in progress - audioState is ', status.audioState)
        if self.alarmInProgress and self.alarmInProgress ~= 'snooze' and 
status.audioState ~= 1 then
+               self.failedAudioTicker = self.failedAudioTicker + 1
+               log:warn('Audio failed! (', self.failedAudioTicker, ')')
+       else
+               self.failedAudioTicker = 0
+               log:warn('Audio now in good shape, reset ticker to ', 
self.failedAudioTicker)
+       end
+
+       if self.failedAudioTicker > 5 then
+               log:warn('Decode state bad ', self.failedAudioTicker, ' 
consecutive times. Trigger fallback alarm!')
                hammer = true
        end
 
@@ -258,11 +268,11 @@
 -- polling would eventually manifest the transition anyway...
 
 function notify_playerLoaded(self, player)
-       log:info("notify_playerLoaded(", player, ")")
        if not player then
                return
        end
        if player == self.localPlayer then
+               log:debug("notify_playerLoaded(", player, ")")
 --             self:_alarm_sledgehammerRearm('notify_playerLoaded')
                -- check for pending server alarm in case that one is pending 
instead, since we may have changed players to force 
                --       local control during a previous call to 
openAlarmWindow()
@@ -304,36 +314,38 @@
 
 
 function notify_playerModeChange(self, player, mode)
-       log:warn('notify_playerModeChange: player (', player,') mode has been 
changed to ', mode)
+       log:debug('notify_playerModeChange: player (', player,') mode has been 
changed to ', mode)
        if not player then
                return
        end
-       local status = decode:status()
-       log:warn('notify_playerModeChange: - audioState is ', status.audioState)
+       if player == self.localPlayer then
+               local status = decode:status()
+               log:warn('notify_playerModeChange: - audioState is ', 
status.audioState)
+       end
 end
 
 
 function notify_playerConnected(self, player)
-       log:warn('notify_playerConnected: ', player, ' ', self.alarmInProgress)
        if not player then
                return
        end
        if player == self.localPlayer then
+               log:warn('notify_playerConnected: ', player, ' ', 
self.alarmInProgress)
 --             self:_alarm_sledgehammerRearm('notify_playerConnected')
                self.server = player:getSlimServer()
                log:warn("notify_playerConnected(): setting self.server to: ", 
self.server)
        else
-               log:info('notify_playerConnected(): this notification player: 
', player, ' not for local player: ', self.localPlayer)
+               log:debug('notify_playerConnected(): this notification player: 
', player, ' not for local player: ', self.localPlayer)
        end
 end
 
 
 function notify_playerDisconnected(self, player)
-       log:warn('notify_playerDisconnected ', player, self.alarmInProgress)
        if not player then
                return
        end
        if player == self.localPlayer then
+               log:warn('notify_playerDisconnected ', player, 
self.alarmInProgress)
        end
 end
 

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

Reply via email to