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