Author: awy
Date: Tue Nov 11 21:44:14 2008
New Revision: 3330

URL: http://svn.slimdevices.com?rev=3330&root=Jive&view=rev
Log:
Fix up underrun checks with skip-ahead.

Modified:
    7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c
    7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c

Modified: 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c
URL: 
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c?rev=3330&root=Jive&r1=3329&r2=3330&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c 
(original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_alsa.c Tue 
Nov 11 21:44:14 2008
@@ -26,7 +26,7 @@
 
 
 /* alsa */
-static char *device = "default";
+static char *device = "plughw:0,0";
 //static char *device = "plughw:0,0";
 
 static snd_output_t *output;
@@ -84,9 +84,11 @@
        bytes_used = fifo_bytes_used(&decode_fifo);
        
        /* only skip if it will not cause an underrun */
-       if (bytes_used + skip_ahead_bytes >= len) {
-               skip_bytes = skip_ahead_bytes;
-               bytes_used -= skip_bytes;
+       if (bytes_used >= len && skip_ahead_bytes > 0) {
+               skip_bytes = bytes_used - len;
+               if (skip_bytes > skip_ahead_bytes) {
+                       skip_bytes = skip_ahead_bytes;                  
+               }
        }
 
        if (bytes_used > len) {

Modified: 
7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c
URL: 
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c?rev=3330&root=Jive&r1=3329&r2=3330&view=diff
==============================================================================
--- 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c 
(original)
+++ 7.3/trunk/squeezeplay/src/squeezeplay/src/audio/decode/decode_portaudio.c 
Tue Nov 11 21:44:14 2008
@@ -82,9 +82,11 @@
        bytes_used = fifo_bytes_used(&decode_fifo);     
 
        /* only skip if it will not cause an underrun */
-       if (bytes_used + skip_ahead_bytes >= len) {
-               skip_bytes = skip_ahead_bytes;
-               bytes_used -= skip_bytes;
+       if (bytes_used >= len && skip_ahead_bytes > 0) {
+               skip_bytes = bytes_used - len;
+               if (skip_bytes > skip_ahead_bytes) {
+                       skip_bytes = skip_ahead_bytes;                  
+               }
        }
 
        if (bytes_used > len) {

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

Reply via email to