Author: bklaas
Date: Wed May 26 12:50:12 2010
New Revision: 8823

URL: http://svn.slimdevices.com/jive?rev=8823&view=rev
Log:
 r39...@daddymac (orig r8810):  agrundman | 2010-05-25 06:40:51 -0500
 Bump Audio::Scan to 0.82
 r39...@daddymac (orig r8813):  agrundman | 2010-05-25 10:20:41 -0500
 Fixed bug 10801, the samplerate changing logic in portaudio was broken
 r39...@daddymac (orig r8814):  agrundman | 2010-05-25 16:21:40 -0500
 Fix alsa underrun timer calculation
 r39...@daddymac (orig r8815):  ayoung | 2010-05-26 07:31:10 -0500
 bug 16170: SB Radio Internet Radio streaming stops unexpectedly 
 We can only resume a stream (reconnect) if we already started decoding it.
 Otherwise ignore the reconnect bit from the server. 
 r39...@daddymac (orig r8817):  bklaas | 2010-05-26 11:25:59 -0500
 Fixed Bug: 16260
 Description: don't consume events on disabled slider widget
 

Modified:
    7.6/trunk/   (props changed)
    7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
    7.6/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua
    7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa_backend.c
    7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c

Propchange: 7.6/trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Wed May 26 12:50:12 2010
@@ -13,7 +13,7 @@
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/private-branches/fab4-skin:4552
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/private-branches/new-alsa:6567
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/trunk:8423
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.5/trunk:8805
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.5/trunk:8817
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2013
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua?rev=8823&r1=8822&r2=8823&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua 
(original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/audio/Playback.lua Wed May 
26 12:50:12 2010
@@ -591,14 +591,19 @@
                -- start
                
                local serverIp = data.serverIp == 0 and 
self.slimproto:getServerIp() or data.serverIp
-               
+               self.flags = data.flags
+               self.mode = data.mode
+               self.header = data.header
+               self.autostart = data.autostart
+               self.threshold = data.threshold * 1024
+
                -- Is this a reconnect (bit 0x40)?
-               if (data.flags & 0x40 ~= 0 and data.flags & 0x10 == 0) then
+               if (self.flags & 0x40 ~= 0 and self.flags & 0x10 == 0) then
                
                        -- FIXME - do not know how to handle reconnect for 
custom stream handlers
                        
                        -- If we have already (tried to) send STMd/STMo then 
too late to reconnect
-                       if (not self.sentDecoderUnderrunEvent and not 
self.sentAudioUnderrunEvent) then
+                       if (self.sentResumeDecoder and not 
self.sentDecoderUnderrunEvent and not self.sentAudioUnderrunEvent) then
                                
                                log:info("reconnect")
                        
@@ -609,7 +614,6 @@
                                self:_streamDisconnect(nil, false)
                        
                                -- Just reconnect the stream and send STMc
-                               self.header = data.header
                                self:_streamConnect(serverIp, data.serverPort)
                                
                                return true;
@@ -621,12 +625,6 @@
                self:_streamDisconnect(nil, true)
 
                -- reset stream state
-               self.flags = data.flags
-               self.mode = data.mode
-               self.header = data.header
-               self.autostart = data.autostart
-               self.threshold = data.threshold * 1024
-
                self.sentResume = false
                self.sentResumeDecoder = false
                self.sentDecoderFullEvent = false

Modified: 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua?rev=8823&r1=8822&r2=8823&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua (original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/share/jive/ui/Slider.lua Wed May 26 
12:50:12 2010
@@ -249,7 +249,7 @@
 
        -- consume events if the slider is disabled
        if not self.sliderEnabled then
-               return EVENT_CONSUME
+               return EVENT_UNUSED
        end
 
        if type == EVENT_SCROLL then

Modified: 
7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa_backend.c
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa_backend.c?rev=8823&r1=8822&r2=8823&view=diff
==============================================================================
--- 
7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa_backend.c 
(original)
+++ 
7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa_backend.c 
Wed May 26 12:50:12 2010
@@ -752,8 +752,8 @@
                        struct timeval now, diff, tstamp;
                        gettimeofday(&now, 0);
                        snd_pcm_status_get_trigger_tstamp(status, &tstamp);
-                       timersub(&now, &tstamp, &diff);
-                       LOG_WARN("underrun!!! (at least %.3f ms long)", 
diff.tv_sec * 1000 + diff.tv_usec / 1000.0);
+                       timersub(&tstamp, &now, &diff);
+                       LOG_WARN("underrun!!! (at least %.3f ms long)", 
diff.tv_sec * 1000.0 + diff.tv_usec / 1000.0);
 
                        if ((err = snd_pcm_recover(state->pcm, -EPIPE, 1)) < 0) 
{
                                LOG_ERROR("XRUN recovery failed: %s", 
snd_strerror(err));

Modified: 
7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c?rev=8823&r1=8822&r2=8823&view=diff
==============================================================================
--- 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c 
(original)
+++ 7.6/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c 
Wed May 26 12:50:12 2010
@@ -43,6 +43,7 @@
        bool_t reached_start_point;
        Uint8 *outputArray = (u8_t *)outputBuffer;
        u32_t delay;
+       int ret = paContinue;
 
        if (statusFlags & (paOutputUnderflow | paOutputOverflow)) {
                LOG_DEBUG(log_audio_output, "pa status %x\n", (unsigned 
int)statusFlags);
@@ -177,7 +178,9 @@
 
        reached_start_point = decode_check_start_point();
        if (reached_start_point && decode_audio->track_sample_rate != 
stream_sample_rate) {
+               LOG_DEBUG(log_audio_output, "Sample rate changed from %d to 
%d\n", stream_sample_rate, decode_audio->track_sample_rate);
                decode_audio->set_sample_rate = decode_audio->track_sample_rate;
+               ret = paComplete; // will trigger the finished callback to 
change the samplerate
        }
 
  mixin_effects:
@@ -186,7 +189,7 @@
 
        decode_audio_unlock();
 
-       return paContinue;
+       return ret;
 }
 
 

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

Reply via email to