ALSA: Fix a potential infinite loop in MMAP mode.

This commit is contained in:
David Reid
2018-07-14 00:21:17 +00:00
parent 4f85fb8692
commit b250bcdf06
+10 -3
View File
@@ -9746,7 +9746,6 @@ mal_bool32 mal_device_write__alsa(mal_device* pDevice)
return MAL_FALSE;
}
if (pDevice->alsa.isUsingMMap) {
// mmap.
mal_bool32 requiresRestart;
@@ -9786,7 +9785,11 @@ mal_bool32 mal_device_write__alsa(mal_device* pDevice)
}
}
framesAvailable -= mappedFrames;
if (framesAvailable >= mappedFrames) {
framesAvailable -= mappedFrames;
} else {
framesAvailable = 0;
}
}
} else {
// readi/writei.
@@ -9880,7 +9883,11 @@ mal_bool32 mal_device_read__alsa(mal_device* pDevice)
}
}
framesAvailable -= mappedFrames;
if (framesAvailable >= mappedFrames) {
framesAvailable -= mappedFrames;
} else {
framesAvailable = 0;
}
}
} else {
// readi/writei.