The Advanced Linux Sound Architecture (ALSA) - library
Find a file
Vijay Palaniswamy 82cb27c165 pcm: dmix: fix access to sum-buffer in non-interleaved mixing mode
When dmix uses non-interleaved mixing mode the offset and step width
to sum_buffer was calculated by using the dmix channels instead of
the slave channels. This leads to audio distortions due to frame
corruption.

example:
- With below configuratio, Do aplay on both device in parallel for
audio distortion

pcm.dmix_2_channels {
        type dmix
        ipc_key 5678293
        ipc_perm 0660
        ipc_gid audio
        bindings [0 1]

        slave {
                pcm "hardware"
                channels 2
                periods  4
                period_time 40000
        }
}

pcm.dmix_1_channels {
        type dmix
        ipc_key 5678293
        ipc_perm 0660
        ipc_gid audio
        bindings [0]

        slave {
                pcm "hardware"
                channels 1
                periods  4
                period_time 40000
        }
}

pcm.hardware {
        type hw
        card 0
        channels 2
        rate 48000
        format S16_LE
}

Signed-off-by: Vijay Palaniswamy <vijay.palaniswamy@in.bosch.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-08-13 16:19:30 +02: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 use-case.h: define Linked variable 2020-06-07 17:41:04 +02: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: dmix: fix access to sum-buffer in non-interleaved mixing mode 2020-08-13 16:19:30 +02: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 pcm: dmix: make lockless operation optional 2020-07-07 11:56:41 +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.md: add build status badge 2020-02-18 15:04:52 +01: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.