The Advanced Linux Sound Architecture (ALSA) - library
Find a file
Andreas Pape 8cf12b45b3 pcm: ioplug: Limit transfer size to buffer boundary
Commit 1714332719 introduced 2nd
transfer() call to transfer all remaining available frames.
Unfortunately this valuable fix introduced two regressions:
a) If the prior calculated avail value exceeds the buffer size
a too large size value is passed to the underlaying plugin and results
in memory corruption if not blocked by attached plugin internally.
Avail values > buffer size can happen if e.g. xrun detection is disabled,
as avail is calculated by pure difference between hw and app position.
This patch limits 2nd transfer call to fit into area.
b) the 2nd transfer callback is executed with adapted offset+size but without updating pcm->appl_ptr.
An underlaying plugin may rely on consistent pointer positions.
To maintain consistency the appl_ptr is temporarily forwarded during the 2nd transfer call and rewinded afterwards.

Signed-off-by: Andreas Pape <apape@de.adit-jv.com>
2020-12-11 12:45:06 +01:00
.github/workflows github actions: ubuntu - fix the non-interactive build 2020-06-02 13:16:55 +02:00
alsalisp Change FSF address (Franklin Street) 2017-11-14 14:29:26 +01:00
aserver Use __func__ instead of __FUNCTION__ 2019-06-12 08:52:07 +02:00
doc doxygen: Suppress timestamp 2016-06-23 16:29:07 +02:00
include topology: use inclusive language in documentation 2020-11-17 14:01:30 +01:00
m4 Update the attributes.m4 macro file from xine 2020-01-03 19:13:13 +01:00
modules snd_dlopen: implement the relocatable version for glibc 2020-06-04 19:09:58 +02:00
src pcm: ioplug: Limit transfer size to buffer boundary 2020-12-11 12:45:06 +01:00
test test: pcm_min - add snd_pcm_drain() call and indentation fixes 2020-05-03 20:07:55 +02:00
utils alsa.m4: another fix to not link all binaries with -latopology 2020-02-18 19:45:19 +01:00
.gitignore initial version of .travis.yml file 2018-10-24 16:07:58 +02:00
.travis.yml initial version of .travis.yml file 2018-10-24 16:07:58 +02:00
acinclude.m4 fixed for the recent autoconf. 2004-01-26 15:52:17 +00:00
ChangeLog * update to libtool 1.3.3 1999-07-22 12:18:42 +00:00
configure.ac Release v1.2.4 2020-10-19 11:45:13 +02:00
COPYING Change FSF address (Franklin Street) 2017-11-14 14:29:26 +01:00
gitcompile add support for GCC's LTO 2019-04-09 12:44:14 +02:00
INSTALL pcm: Add thread-safety to PCM API 2016-07-11 15:25:30 +02:00
Makefile.am create separated libatopology library with the topology routines 2019-11-14 15:01:12 +01:00
MEMORY-LEAK Initial version 2003-02-04 14:56:07 +00:00
NOTES Change assert condition in error message handler 2007-10-24 12:53:08 +02:00
README.md README: add patch submission instructions 2020-08-16 09:36:01 +02:00
TODO Added snd_config_load_override(). 2002-01-09 21:28:15 +00:00

alsa-lib

Advanced Linux Sound Architecture (ALSA) project

Build alsa-lib

The alsa-lib is a library to interface with ALSA in the Linux kernel and virtual devices using a plugin system.

The up-to-date reference generated from sources can be accessed here:

http://www.alsa-project.org/alsa-doc/alsa-lib/

You may give a look for more information about the ALSA project to URL http://www.alsa-project.org.

Submitting patches

The preferred way to submit patches is by sending them by email to the alsa-devel mailing list. Sending mail to the list requires subscription, subscribe here: https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

Add Takashi Iwai <tiwai@suse.de> and/or Jaroslav Kysela <perex@perex.cz> to Cc so that your patch won't be missed.

Patches are also accepted as GitHub pull requests.