Группа :: Эмуляторы
Пакет: vice
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: vice-2.1-fix-alsa-fragment.patch
Скачать
Скачать
--- 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)