Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37729352
en ru br
ALT Linux repos
S:3.4-alt3
5.0: 2.1-alt1

Group :: Emulators
RPM: vice

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Patch: vice-2.1-fix-alsa-fragment.patch
Download


--- trunk/vice/src/sounddrv/soundalsa.c	2009/01/18 22:37:28	20033
+++ trunk/vice/src/sounddrv/soundalsa.c	2009/01/19 15:54:21	20034
@@ -167,17 +167,14 @@
 
 static int alsa_bufferspace(void)
 {
-    int err;
-    snd_pcm_sframes_t delay;
-
-    if ((err = snd_pcm_delay(handle, &delay)) < 0) {
-	if ((err = xrun_recovery(handle, err)) < 0) {
-	    log_message(LOG_DEFAULT, "Delay error: %s", snd_strerror(err));
-	}
-	return alsa_bufsize;
-    }
-
-    return alsa_bufsize - delay;
+    snd_pcm_sframes_t space = snd_pcm_avail_update(handle);
+    /* keep alsa values real. Someone else figures out under/overruns, which
+     * these results most likely signify. */
+    if (space < 0)
+        space = 0;
+    if (space > alsa_bufsize)
+        space = alsa_bufsize;
+    return space;
 }
 
 static void alsa_close(void)
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin