Git Product home page Git Product logo

alsa-plugins's People

Contributors

aditpape avatar amotzkau avatar anssih avatar bku-sue avatar cendioossman avatar corfuvalentin avatar devilaxmii avatar eclipseo avatar flameeyes avatar gogglesguy avatar jamrial avatar jeberger avatar jg1uaa avatar jmallach avatar k-ross avatar kraj avatar maartenbaert avatar michaelcadilhac avatar msutar avatar mywave82 avatar perexg avatar peter-levine avatar poettering avatar quequotion avatar sergesv avatar sjoerdsimons avatar tanuk avatar tiwai avatar tomty89 avatar wksuper avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alsa-plugins's Issues

Speex AGC sets wrong parameter

SPEEX_PREPROCESS_SET_AGC_LEVEL is the current level and not static whilst the only useful setting of SPEEX_PREPROCESS_SET_AGC_MAX_GAIN which is in decibels and set to 30db (30) is not used?
There are a few useful tweaking params but the main likely max gain to stop ramping up into the noise floor.

Dunno why the only param is the the dynamic agc level as its default is 8000 anyway, but also dynamic as it is the current AGC level that the idea is it changes?

Pass through encoded audio in the AC3 profile

Is there any technical reason why it is not possible to pactl set-sink-formats X "pcm dts-iec61937 ac3-iec61937" when the Digital Surround 5.1 IEC958/AC3 Output profile is selected?

It would be convenient to not have to switch profiles when watching a movie with audio that is already encoded AC3.

I noticed the dcaenc plug-in for DTS encoding does the same thing. So maybe there is a good reason for this I'm not seeing.

pulse plugin crash when stream has a hole

Following up on this debian bug report https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=824850

Looks like this crash is caused by missing stream hole handling in pulse plugin. Pulseaudio change was done just before pulseaudio-v3.0 release and this issue should be reproducible with all current versions: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/dfd44036b54d65314664622ff93dfd18eee03c7b quoting from there:

... let the caller decide how the holes should be handled, so
in case of holes, pa_stream_peek() will return NULL data pointer and
the length of the hole in the nbytes argument

Here in pulse plugin, if there is a hole in stream pa_stream_peek would return NULL buffer pointer but non-zero frag_length and later memcpy is happily trying to copy from NULL source:

if (pa_stream_peek(pcm->stream, &src_buf, &frag_length) < 0) {
ret = -EIO;
goto finish;
}
if (frag_length == 0)
break;
src_buf = (char *) src_buf + pcm->offset;
frag_length -= pcm->offset;
if (frag_length > remain_size) {
pcm->offset += remain_size;
frag_length = remain_size;
} else
pcm->offset = 0;
memcpy(dst_buf, src_buf, frag_length);

Instead, pulse plugin should detect there is a hole by checking if src_buf is still NULL while frag_length is not zero, and adjust transfer result accordingly.

[a52] Strange behavior with 5.1 surround on ALC1220

I originally encountered the issue ~1 year ago, when I started using a motherboard with an ALC1220 on it.

The out-of-box experience was flawless: I simply connected the optical SPDIF cable to my amplifier/receiver and stereo sound immediately worked.

Once I switched to 5.1 surround, audio output became extremely fast; even videos were affected by it, to the point that they were being reproduced in seconds instead of minutes.

After a few days of research and experiments I managed to workaround the issue by replacing the content of 60-a52-encoder.conf with:

pcm.a52 {
	@args [CARD]
	@args.CARD {
		type string
        }
	type rate
	slave {
		pcm {   
			type a52
			card $CARD
		}
		rate 48000
	}
}
pcm.pulse {
	type pulse
}
ctl.pulse {
	type pulse
}
pcm.!default {
	type pulse
}
ctl.!default {
	type pulse
}

Based on https://help.ubuntu.com/community/DigitalAC-3Pulseaudio#Configuring_asound.conf.

After that, I wanted to investigate the cause and report my findings to either ALSA or PulseAudio (depending on the results).

Unfortunately that never happened and I kinda forgot about it, as libasound2-plugins was updated a single time in the past year and thus I only had to replace the file's content once more.

Fast-forward to today: I switch from PulseAudio to PipeWire and while troubleshooting https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1143 I decided to try to restore the original file.

Interestingly, the behavior is different compared to PulseAudio: audio, instead of being fast, is crackling. It's basically as if a frame every two is being skipped.

Unfortunately PipeWire reports no errors whatsoever.

Error while building: storage size of ‘txtime_cfg’ isn’t known

Hello Guys,
I have the same problem as the friend (#4). Can anybody help me?

I tried to build the code with make , but an error occured:

System:
Ubuntu 18.04.3 64-bit
Kernel: Linux hostname-To-be-filled-by-O-E-M 5.3.0-45-generic #37~18.04.1-Ubuntu SMP Fri Mar 27 15:58:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz

Note:different from what happened with the previous topic, in my case, the installation of the headers did not solve. I already installed the Linux headers with the command sudo apt-get install linux-headers-$(uname -r)

#Commands
git clone https://github.com/alsa-project/alsa-plugins.git
cd alsa-plugins/
git checkout v1.1.9
autoreconf -i
./configure --prefix=/usr/local
make

Making all in aaf
make[2]: Entering directory '/home/user/repository/alsa-plugins/aaf'
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/local/include -I/usr/local/include -g -O2 -MT pcm_aaf.lo -MD -MP -MF .deps/pcm_aaf.Tpo -c -o pcm_aaf.lo pcm_aaf.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -I/usr/local/include -g -O2 -MT pcm_aaf.lo -MD -MP -MF .deps/pcm_aaf.Tpo -c pcm_aaf.c  -fPIC -DPIC -o .libs/pcm_aaf.o
pcm_aaf.c: In function ‘aaf_init_socket’:
pcm_aaf.c:290:22: error: storage size of ‘txtime_cfg’ isn’t known
   struct sock_txtime txtime_cfg;
                      ^~~~~~~~~~
pcm_aaf.c:302:36: error: ‘SO_TXTIME’ undeclared (first use in this function); did you mean ‘SO_RCVTIMEO’?
   res = setsockopt(fd, SOL_SOCKET, SO_TXTIME, &txtime_cfg,
                                    ^~~~~~~~~
                                    SO_RCVTIMEO
pcm_aaf.c:302:36: note: each undeclared identifier is reported only once for each function it appears in
pcm_aaf.c: In function ‘aaf_init_msghdr’:
pcm_aaf.c:509:20: error: ‘SCM_TXTIME’ undeclared (first use in this function); did you mean ‘_SC_CPUTIME’?
  cmsg->cmsg_type = SCM_TXTIME;
                    ^~~~~~~~~~
                    _SC_CPUTIME
Makefile:448: recipe for target 'pcm_aaf.lo' failed

any suggestion?
Thx!!!

Parallel build failure in rate/ (probably rate-lav/, pph/ too)

Originally reported downstream in Gentoo by a user.

It looks like in rate/Makefile.am (and I think ditto for rate-lav/Makefile.am, pph/Makefile.am), with high parallelism (make -jN install, for large N), $(DESTDIR)@ALSA_PLUGIN_DIR@ may not have been created yet. All of these dirs override install-exec-hook.

For other subdirs, like jack/Makefile.am, there's no problem, because the implementation of install-exec-hook for those is set by install-hooks.am which handles mkdir -p before symlinking/installing.

Example of failure:

>>> Install media-plugins/alsa-plugins-1.2.2 into /var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image
 * abi_x86_64.amd64: running multilib-minimal_abi_src_install
make -j2 DESTDIR=/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image install 
Making install in doc
make[1]: Entering directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/doc'
make[2]: Entering directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/doc'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/doc'
make[1]: Leaving directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/doc'
Making install in rate
make[1]: Entering directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/rate'
make[2]: Entering directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/rate'
make  install-exec-hook
 /bin/mkdir -p '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image/usr/share/alsa/alsa.conf.d'
make[3]: Entering directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/rate'
rm -f /var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image/usr/lib64/alsa-lib/libasound_module_rate_samplerate_*.so
ln -s libasound_module_rate_samplerate.so /var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image/usr/lib64/alsa-lib/libasound_module_rate_samplerate_best.so
 /usr/bin/install -c -m 644 /var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2/rate/10-samplerate.conf '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image/usr/share/alsa/alsa.conf.d'
ln: failed to create symbolic link '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image/usr/lib64/alsa-lib/libasound_module_rate_samplerate_best.so': No such file or directory
make[3]: *** [Makefile:738: install-exec-hook] Error 1
make[3]: Leaving directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/rate'
make[2]: *** [Makefile:651: install-exec-am] Error 2
make[2]: *** Waiting for unfinished jobs....
 /bin/mkdir -p '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image/usr/lib64/alsa-lib'
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libasound_module_rate_samplerate.la '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image/usr/lib64/alsa-lib'
libtool: install: /usr/bin/install -c .libs/libasound_module_rate_samplerate.so /var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image/usr/lib64/alsa-lib/libasound_module_rate_samplerate.so
libtool: install: /usr/bin/install -c .libs/libasound_module_rate_samplerate.lai /var/tmp/portage/media-plugins/alsa-plugins-1.2.2/image/usr/lib64/alsa-lib/libasound_module_rate_samplerate.la
libtool: warning: remember to run 'libtool --finish /usr/lib64/alsa-lib'
make[2]: Leaving directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/rate'
make[1]: *** [Makefile:594: install-am] Error 2
make[1]: Leaving directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.2/work/alsa-plugins-1.2.2-abi_x86_64.amd64/rate'
make: *** [Makefile:444: install-recursive] Error 1
 * ERROR: media-plugins/alsa-plugins-1.2.2::gentoo failed (install phase):
 *   emake failed

Reported to happen with 1.2.6 too, which makes sense, as nothing changed there.

Pulseaudio craches on start with SegFault error

Dear alsa-project developers,

I am using a debian (testing) on my computer, together with deb-multimedia.org repository. As some other users with external USB audio devices, I recently discovered a segfault:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=991337
I discussed withe Christian Marillat (maintainer of the deb-multimedia repository) and we tried a couple of alsa versions, but the bug is still present if I'm using a recent libasound2-plugins such as this one:
https://www.deb-multimedia.org/tests/libasound2-plugins_1.2.2+git4219f4b-dmo1_amd64.deb
It does not crash with libasound2-plugins 1.2.2-2 from debian testing.

You will found attached the log file from pulseaudio -vvv.

pulseaudio.log

Speexrate linking build artifacts in installation directory?

It seems to me that the Makefile is linking build artifacts instead of copying them... Also the install hook is assuming those .so files exist which seems to be the case but should not be copied over when --enable-static --disable-shared is specified. It happens only for that plugin.

Static build generates broken symlinks

Hello,

This snippet seems to generate some symlinks:

install-exec-hook:
	rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_speexrate_*.so
	$(LN_S) libasound_module_rate_speexrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_speexrate_best.so
	$(LN_S) libasound_module_rate_speexrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_speexrate_medium.so

But it assumes we are doing a shared build. Which results in broken symlinks in a static build.

speaker-test fails with message "Unknown field hint" on Scarlett 8i6

I am using a Scarlett 8i6 Gen1. It used to work fine, but with the newest version of speaker-test, I get this error message:

$ speaker-test -Dusbstream:CARD=USB

speaker-test 1.2.5.1

Playback device is usbstream:CARD=USB
Stream parameters are 48000Hz, S16_LE, 1 channels
Using 16 octaves of pink noise
ALSA lib pcm_usb_stream.c:503:(_snd_pcm_usb_stream_open) Unknown field hint
Playback open error: -22,Invalid argument
$ cat /proc/asound/cards
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0xd3a10000 irq 35
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xd3000000 irq 17
 2 [USB            ]: USB-Audio - Scarlett 8i6 USB
                      Focusrite Scarlett 8i6 USB at usb-0000:00:1a.0-1.2, high speed

unable to install alsa-utils with newest pulseaudio

I installed and upgraded pulse audio to version 16.1

I keep receiving the following error when trying to upgrade alsa-utils (the latest version):

/bin/sh ../libtool --tag=CC --mode=link gcc -Wall -g -D_REENTRANT -D_GNU_SOURCE -g -O2 -module -avoid-version -export-dynamic -no-undefined -Wl,-z,defs -o libasound_module_conf_pulse.la -rpath /usr/lib/alsa-lib conf_pulse.lo -lasound -lpulse -pthread -lasound /bin/grep: /usr/lib/pulseaudio/libpulsecommon-13.0.la: No such file or directory /bin/sed: can't read /usr/lib/pulseaudio/libpulsecommon-13.0.la: No such file or directory libtool: error: '/usr/lib/pulseaudio/libpulsecommon-13.0.la' is not a valid libtool archive make[2]: *** [Makefile:535: libasound_module_conf_pulse.la] Error 1 make[2]: Leaving directory '/sources/alsa-plugins/pulse' make[1]: *** [Makefile:444: all-recursive] Error 1 make[1]: Leaving directory '/sources/alsa-plugins' make: *** [Makefile:376: all] Error 2

What exactly is going on here?

Error while building: storage size of ‘txtime_cfg’ isn’t known

Hey there,
I tried to build the code with make , but an error occured:

System:
Ubuntu 18.04.3 64-bit
Intel® Xeon(R) CPU E3-1270 v6 @ 3.80GHz × 8

Making all in aaf
make[2]: Entering directory '/home/[...]/alsa-plugins/aaf'
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..    -I/usr/local/include -I/usr/local/include -g -O2 -MT pcm_aaf.lo -MD -MP -MF .deps/pcm_aaf.Tpo -c -o pcm_aaf.lo pcm_aaf.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/local/include -I/usr/local/include -g -O2 -MT pcm_aaf.lo -MD -MP -MF .deps/pcm_aaf.Tpo -c pcm_aaf.c  -fPIC -DPIC -o .libs/pcm_aaf.o
pcm_aaf.c: In function ‘aaf_init_socket’:
pcm_aaf.c:289:22: error: storage size of ‘txtime_cfg’ isn’t known
   struct sock_txtime txtime_cfg;
                      ^~~~~~~~~~
pcm_aaf.c:301:36: error: ‘SO_TXTIME’ undeclared (first use in this function); did you mean ‘SO_RCVTIMEO’?
   res = setsockopt(fd, SOL_SOCKET, SO_TXTIME, &txtime_cfg,
                                    ^~~~~~~~~
                                    SO_RCVTIMEO
pcm_aaf.c:301:36: note: each undeclared identifier is reported only once for each function it appears in
pcm_aaf.c: In function ‘aaf_init_msghdr’:
pcm_aaf.c:508:20: error: ‘SCM_TXTIME’ undeclared (first use in this function); did you mean ‘_SC_CPUTIME’?
  cmsg->cmsg_type = SCM_TXTIME;
                    ^~~~~~~~~~
                    _SC_CPUTIME
Makefile:448: recipe for target 'pcm_aaf.lo' failed
make[2]: *** [pcm_aaf.lo] Error 1
make[2]: Leaving directory '/home/[...]/alsa-plugins/aaf'
Makefile:443: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/[...]/alsa-plugins'
Makefile:375: recipe for target 'all' failed
make: *** [all] Error 2

I hope someone can help.

[A52] Pipeware errors

https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4085

I'm getting this errors:

jul 03 21:12:38 thought pipewire[63110]: ALSA lib confmisc.c:165:(snd_config_get_card) Cannot get card index for %f
jul 03 21:12:38 thought pipewire[63110]: spa.alsa: 'plug:{SLAVE="a52:0,'hw:%f,3'"}': playback open failed: No such device
jul 03 21:12:38 thought pipewire[63110]: mod.adapter: 0x5b856abf1c30: can't get format: No such device
jul 03 21:12:38 thought pipewire[63110]: mod.adapter: usage: node.name=<string>
jul 03 21:14:21 thought wireplumber[63111]: wplua: [string "alsa.lua"]:182: attempt to concatenate a nil value (local 'node_name')
                                            stack traceback:
                                                    [string "alsa.lua"]:182: in function <[string "alsa.lua"]:175>

could this be related to the this commit? dfc65f2

a52 plugin crashing pulseaudio

Ever since f11e7a8, the recent commit that brings the a52 plugin up to speed with ffmpeg's requirement for s32le format sampling, sending any audio to plug:a52 from any pulseaudio client crashes pulseaudio.

I posted this log earlier in #23, in which audio from mpv crashes pulseaudio.

I have tried other clients since and they all crash the same way.

This is with a default pulseaudio configuration, as shipped in Archlinux, and the following /etc/asound.conf:

# Alsa Resampler
 defaults.pcm.rate_converter "speexrate_best"

# Use PulseAudio by default
pcm.!default {
  type pulse
  fallback "sysdefault"
  hint {
    show on
    description "Default ALSA Output (currently PulseAudio Sound Server)"
  }
}

ctl.!default {
  type pulse
  fallback "sysdefault"
}

defaults.namehint.showall on
defaults.namehint.extended on

To enable the use of plug:a52 in pulseaudio without configuring it manually, I select the "Digital Surround 5.1 (IEC958/AC3) Output" profile in pavucontrol.

Pulseaudio, as far as I know, is agnostic of how ALSA plugins work internally. This leads me to think there is something not getting done right in the new patchset, even if it is tolerable in an ALSA-only setup.

mpv segfaults in a52 plugin

When using mpv with the option audio-device=alsa/<a52 device> it gets a segfault on this line

snd_output_printf(out, " %-13s: %i\n", "av_frame_size", rec->avctx->frame_size);
because it calls dump before prepare has been called and rec->avctx is NULL.

a52: frozen pavumeter

I had been thinking that pavumeter was just broken, because this has been happening to me for a long time (well before the changes between 1.2.5 and 1.2.6), but now I realize that I hadn't tested against stereo mode in just as long.

When using the a52 plugin, pavumeter is frozen as soon as it opens: if audio was playing, levels will show at exactly where they were at that moment and never change; if audio was not playing, levels will never appear because the interface is frozen before there were any.

I am curious if this, #37 and #32 are not related.

alsa-plugins-1.2.7.1 fails to compile against latest ffmpeg git

libtool: compile:  x86_64-pc-linux-gnu-gcc -m32 -mfpmath=sse -DHAVE_CONFIG_H -I. -I/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52 -I.. -DNDEBUG -Wall -g -march=native -mtune=native -O2 -pipe -c /var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c  -fPIC -DPIC -o .libs/pcm_a52.o
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function 'a52_free':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:631:17: warning: 'avcodec_close' is deprecated [-Wdeprecated-declarations]
  631 |                 avcodec_close(rec->avctx);
      |                 ^~~~~~~~~~~~~
In file included from /var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:28:
/usr/include/libavcodec/avcodec.h:2374:5: note: declared here
 2374 | int avcodec_close(AVCodecContext *avctx);
      |     ^~~~~~~~~~~~~
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function 'set_channel_layout':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:672:29: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
  672 |                 rec->avctx->channel_layout = AV_CH_LAYOUT_STEREO;
      |                             ^~~~~~~~~~~~~~
      |                             ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:675:29: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
  675 |                 rec->avctx->channel_layout = AV_CH_LAYOUT_QUAD;
      |                             ^~~~~~~~~~~~~~
      |                             ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:678:29: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
  678 |                 rec->avctx->channel_layout = AV_CH_LAYOUT_5POINT1;
      |                             ^~~~~~~~~~~~~~
      |                             ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function 'alloc_input_buffer':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:698:19: error: 'AVFrame' has no member named 'channels'
  698 |         rec->frame->channels = rec->avctx->channels;
      |                   ^~
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:698:42: error: 'AVCodecContext' has no member named 'channels'
  698 |         rec->frame->channels = rec->avctx->channels;
      |                                          ^~
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:699:21: error: 'AVFrame' has no member named 'channel_layout'; did you mean 'ch_layout'?
  699 |         rec->frame->channel_layout = rec->avctx->channel_layout;
      |                     ^~~~~~~~~~~~~~
      |                     ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:699:50: error: 'AVCodecContext' has no member named 'channel_layout'; did you mean 'ch_layout'?
  699 |         rec->frame->channel_layout = rec->avctx->channel_layout;
      |                                                  ^~~~~~~~~~~~~~
      |                                                  ch_layout
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function 'a52_prepare':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:734:19: error: 'AVCodecContext' has no member named 'channels'
  734 |         rec->avctx->channels = io->channels;
      |                   ^~
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c: In function '_snd_pcm_a52_open':
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:1124:28: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 1124 |                 rec->codec = avcodec_find_encoder_by_name(avcodec);
      |                            ^
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:1126:28: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 1126 |                 rec->codec = avcodec_find_encoder_by_name("ac3_fixed");
      |                            ^
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:1128:36: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 1128 |                         rec->codec = avcodec_find_encoder_by_name("ac3");
      |                                    ^
/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1/a52/pcm_a52.c:1131:28: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 1131 |                 rec->codec = avcodec_find_encoder(AV_CODEC_ID_AC3);
      |                            ^
make[2]: *** [Makefile:469: pcm_a52.lo] Error 1
make[2]: Leaving directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1-abi_x86_32.x86/a52'
make[1]: *** [Makefile:445: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/media-plugins/alsa-plugins-1.2.7.1-r1/work/alsa-plugins-1.2.7.1-abi_x86_32.x86'
make: *** [Makefile:377: all] Error 2
 * ERROR: media-plugins/alsa-plugins-1.2.7.1-r1::gentoo failed (compile phase):
 *   emake failed

Crash when trying to capture vdownmix

Our game captures audio from microphones and tests the available devices on startup. For some reason PortAudio tells us that vdownmix is a 6 channel capture device. When the game tries to test that device, the plugin crashes inside vdownmix_transfer because the src_areas array contained only two valid pointers while mix->channels is 6. I assume the plugin is not prepared to handle the swapped roles of input and output during capture.

A simple way to cause the crash is to execute arecord -D vdownmix -f dat -c 6.

The expected behavior is that the plugin either enforces 2 channel capture with a 4/5/6 channel slave pcm or completely rejects capture. In any case, it should not crash with a SIGSEGV.

a52 plugin not working with PipeWire

Using the lastest code since v1.2.5 I can successfully get AC3 output through HDMI when using speaker-test. Defaults use a huge buffer and gives terrible latency, but it works.

PulseAudio also works fine with fairly low-latency using "tsched=1 tsched_buffer_size=32768 tsched_buffer_watermark=8192 fixed_latency_range=yes mmap=1". This doesn't need the rate kludge any more.

When I try pipewire using mmap I get the below messages in the log, no audio:

spa.alsa: alsa-pcm a52hdmi: mmap_commit wrote 512 instead of 1024

With mmap disabled, no errors are reported, but still no sound.

Is there a configuration for pipewire which works with the a52 plugin, a pipewire bug, or is this another a52 plugin bug?

pulseaudio: a52 sink doesn't stream audio from bluez source

Sorry to beat a dead horse, and double if this is in fact a pulseaudio issue.

I recently configured bluez and pulseaudio to receive streams from devices over bluetooth (eg, to play audio from a phone over the PC's speaker system).

This works when the PC's sound card is set to profiles other than the A52 plugin (ie, pulseaudio's provided digital stereo output and also the DTS alsa plugin).

Only when set to use the AC3 output profile, audio from the bluez source is not produced.

pavucontrol shows the bluez source is producing sound (the level bounces appropriately), but no audio comes out of the sink (no level bounce in pavucontrol either).

Any ideas?

Question about upmix plugin

Hi, I've noticed the latest commits done to the upmix plugin, but there's something I don't understand.
Line 24 of pcm_upmix.c is #define UPMIX_PCM_FORMAT SND_PCM_FORMAT_S16
Does that mean the upmix plugin is still only capable of using S16_LE format ?
Or does the UPMIX_PCM_FORMAT value can get changed to S32_LE by tweaking it in asoundrc file ?

Unable to use ALSA JACK PCM plugin on Debian 10 and on raspbian

Hello everyone,

a) I have installed libasound2-plugins from repository on a Debian Buster machine (4.19.0-12-rt-amd64 #1 SMP PREEMPT RT Debian 4.19.152-1 (2020-10-18) x86_64 GNU/Linux) and on a raspberry PI3 (5.4.79-v7+ #1373 SMP Mon Nov 23 13:22:33 GMT 2020 armv7l GNU/Linux) up-to-date (none of these running pulseaudio of course)
b) I have modified my .asoundrc configuration file according to https://jackaudio.org/faq/routing_alsa.html
c) I can see jack and rowjack virtual devices in aplay -L
d) starting qjackctl I'm unable to see the expected new capture_x devices. Of course jack runs correctly with physical devices (eg. PC mic or USB mic)
e) jack is at jackd 0.125.0rc1 version
f) Alsa is at Version k4.19.0-12-rt-amd64 on the AMD64 machine, at Version k5.4.79-v7+ on the RaspberriPI machine
e) any attempt of playing test files over jack device (aplay -D pcm.jack ) generates the error :

ALSA lib pcm_plug.c:1286:(_snd_pcm_plug_open) Unknown field playback_ports
aplay: main:828: audio open error: Invalid argument

Can you help ?

Thank-you
Best regards
Ugo Poddine

aaf plugin xrun:1711 error

Hello,
I set 2 host to use aaf plugin for TSN test. I followed TSN-doc guidelines and aaf.txt doc.
Simply, after hosts is ready and syncing though ptp4l, phc3sys, qdisc,
then I try to run a basic test, no switch between, back to back linked hosts,
obtaining the following error.

#Talker
sudo speaker-test -p 12500 -F S16_BE -c 2 -r 48000 -D aaf0

#Listener
sudo arecord -F 25000 -t raw -f S16_BE -c 2 -r 48000 -D aaf0 | \
>         aplay -F 25000 -t raw -f S16_BE -c 2 -r 48000 -D default
Playing raw data 'stdin' : Signed 16 bit Big Endian, Rate 48000 Hz, Stereo
Recording raw data 'stdin' : Signed 16 bit Big Endian, Rate 48000 Hz, Stereo
underrun!!! (at least 24,460 ms long)
arecord: xrun:1711: read/write error, state = RUNNING

This error happens after a random period, tipically less than 60sec.
I followed TSN doc settings, but I noticed that value in aaf plugin configuration and cbs qdisc are suggested differrently between aaf.txt doc and TSN doc.

Any prompt to get out of this?
Many thanks

pulseaudio: rewind does not seem to work properly

In my application, after I use snd_pcm_rewind() strange things happen, such as snd_pcm_status_get_avail() reporting a value larger than period_count * frames_per_period which my app depends on to never happen.

a52: not compatible with recent avcodec

Hi!
Current a52 plugin is not compatible with recent changes in the FFmpeg lib.
The symptom is that using newest FFmpeg the a52 plugin produces silent in the speakers. During the weekend I was able to bisect the problem and shed some light on this, and here is what I found out:

  1. The a52 plugin is working fine before commit: FFmpeg/FFmpeg@93016f5
  2. Above commit is wrapping avcodec_encode_audio2(), which a52 plugin is using, into new API internally inside the avcodec
  3. All applications should move to new so called "avcodec_send_frame() API"
  4. After the commit in point 1 the a52 output plugin is not working anymore

I was asking the commit author @jamrial about the commit and he said that the main culprit could rather be the commit:
FFmpeg/FFmpeg@2d85e6e
which is changing the S16 to S32 for ac3_fixed encoder while the a52 plugin "is ignoring the kind of format the encoder takes as input (Starting from the aforementioned commit, ac3_fixed takes S32 planar audio), and unconditionally feeding it S16 planar audio."

I was trying to change the a52 from S16 to S32 but I think some more work is needed on this...
I was also try to change the do_encode() function from avcodec_encode_audio2 to avcodec_send_frame() with no luck...

aaf plugin not working raspberry pi cm4

trying to send to the ALSA device aaf0. pI cm4 with kernel setup to support avb/tsn correctly.
(Linux cm432 5.10.76-v7l-AVB_KERNEL+ #3 SMP Sat Nov 6 22:50:41 GMT 2021 armv7l GNU/Linux).

PCIe i210 network card is the interface set up correctly according to: https://tsn.readthedocs.io/avb.html

Error is:
`sudo speaker-test -p 2500 -F S16_BE -c 2 -r 48000 -D aaf0

speaker-test 1.1.9

Playback device is aaf0
Stream parameters are 48000Hz, S16_BE, 2 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 1 to 206158430
Period size range from 0 to 206158431
Requested period time 2500 us
Periods = 4
was set period_size = 120
was set buffer_size = 480
0 - Front Left
ALSA lib pcm_aaf.c:670:(aaf_tx_pdu) Failed to send AAF PDU
Write error: -5,Input/output error
xrun_recovery failed: -5,Input/output error
Transfer failed: Input/output error
`

Error while building: storage size of ‘txtime_cfg’ isn’t known

Hi,
I got the same error as reported by @kruemelbacke.

My Kernel version is > 4.19.
I also verified the installation of kernel headers using
ls -l /usr/src/linux-headers-$(uname -r)

output:
total 1612
drwxr-xr-x 3 root root 4096 Nov 12 11:23 arch
lrwxrwxrwx 1 root root 39 Oct 22 14:16 block -> ../linux-hwe-5.4-headers-5.4.0-90/block
lrwxrwxrwx 1 root root 39 Oct 22 14:16 certs -> ../linux-hwe-5.4-headers-5.4.0-90/certs
lrwxrwxrwx 1 root root 40 Oct 22 14:16 crypto -> ../linux-hwe-5.4-headers-5.4.0-90/crypto
lrwxrwxrwx 1 root root 47 Oct 22 14:16 Documentation -> ../linux-hwe-5.4-headers-5.4.0-90/Documentation
lrwxrwxrwx 1 root root 41 Oct 22 14:16 drivers -> ../linux-hwe-5.4-headers-5.4.0-90/drivers
lrwxrwxrwx 1 root root 36 Oct 22 14:16 fs -> ../linux-hwe-5.4-headers-5.4.0-90/fs
drwxr-xr-x 4 root root 4096 Nov 12 11:23 include
lrwxrwxrwx 1 root root 38 Oct 22 14:16 init -> ../linux-hwe-5.4-headers-5.4.0-90/init
lrwxrwxrwx 1 root root 37 Oct 22 14:16 ipc -> ../linux-hwe-5.4-headers-5.4.0-90/ipc
lrwxrwxrwx 1 root root 40 Oct 22 14:16 Kbuild -> ../linux-hwe-5.4-headers-5.4.0-90/Kbuild
lrwxrwxrwx 1 root root 41 Oct 22 14:16 Kconfig -> ../linux-hwe-5.4-headers-5.4.0-90/Kconfig
drwxr-xr-x 2 root root 4096 Nov 12 11:23 kernel
lrwxrwxrwx 1 root root 37 Oct 22 14:16 lib -> ../linux-hwe-5.4-headers-5.4.0-90/lib
lrwxrwxrwx 1 root root 42 Oct 22 14:16 Makefile -> ../linux-hwe-5.4-headers-5.4.0-90/Makefile
lrwxrwxrwx 1 root root 36 Oct 22 14:16 mm -> ../linux-hwe-5.4-headers-5.4.0-90/mm
-rw-r--r-- 1 root root 1619639 Oct 22 14:16 Module.symvers
lrwxrwxrwx 1 root root 37 Oct 22 14:16 net -> ../linux-hwe-5.4-headers-5.4.0-90/net
lrwxrwxrwx 1 root root 41 Oct 22 14:16 samples -> ../linux-hwe-5.4-headers-5.4.0-90/samples
drwxr-xr-x 8 root root 12288 Nov 12 11:23 scripts
lrwxrwxrwx 1 root root 42 Oct 22 14:16 security -> ../linux-hwe-5.4-headers-5.4.0-90/security
lrwxrwxrwx 1 root root 39 Oct 22 14:16 sound -> ../linux-hwe-5.4-headers-5.4.0-90/sound
drwxr-xr-x 3 root root 4096 Nov 12 11:23 tools
lrwxrwxrwx 1 root root 40 Oct 22 14:16 ubuntu -> ../linux-hwe-5.4-headers-5.4.0-90/ubuntu
lrwxrwxrwx 1 root root 37 Oct 22 14:16 usr -> ../linux-hwe-5.4-headers-5.4.0-90/usr
lrwxrwxrwx 1 root root 38 Oct 22 14:16 virt -> ../linux-hwe-5.4-headers-5.4.0-90/virt

Seems like headers are included.
I also tried ./configure --prefix=/usr/local CFLAGS=-I/path/to/kernel/headers as suggested by aguedes.

But the problem still persists.

My system specification :
Linux isl01-268 5.4.0-90-generic
Ubuntu 18.04.5 LTS
OS : 64 bits
Processor : Intel® Core™ i5-4570S CPU @ 2.90GHz × 4
Graphics : Intel® HD Graphics 4600 (HSW GT2)

Any help would be highly appreciated.

Originally posted by @Deepa-Santhosh in #4 (comment)

regression: aplay -L missing pulse in 1.2.1

Before 1.2, aplay -L showed a pulse pcm. After the commit
b0f9c35
pulse is missing from the pcm list. This may break some apps, war thunder (used fmod) game stopped seeing pulse and only tried to use alsa directly

if i comment out the below line in /usr/share/alsa/alsa.conf.d/50-pulseaudio.conf
@args [ DEVICE ]

aplay -L show again the pulse pcm

another workaround is to add this to the /etc/asound.conf :

pcm.!pulse {
    type pulse
    hint {
        show on
        description "PulseAudio Sound Server"
    }
}

Warnings on startup

I've been trying to get Julia's PortAudio to load alsa-plugins (it's been a process). I thought I might as well see if I can cut down on the warnings on start up (using PortAudio from Julia) and some of them I've been able to knock out but some of them not so much:

These ones

ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side

I got rid of by commenting out lines in my alsa.conf file:

# pcm.rear cards.pcm.rear
# pcm.center_lfe cards.pcm.center_lfe
# pcm.side cards.pcm.side

This one

ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map

I got rid of by commening out:

# pcm.surround21 cards.pcm.surround21
# pcm.surround40 cards.pcm.surround40
# pcm.surround41 cards.pcm.surround41
# pcm.surround50 cards.pcm.surround50
# pcm.surround51 cards.pcm.surround51
# pcm.surround71 cards.pcm.surround71

I'm not sure if these work arounds are the best solutions...shouldn't alsa be able to tell that my laptop doesn't have surround sound?

This one is expected, I haven't yet figured out how to build jack on Julia's BinaryBuilder:

ALSA lib dlmisc.c:339:(snd_dlobj_cache_get0) Cannot open shared library libasound_module_pcm_jack.so (/home/brandon/.julia/artifacts/d587f48a6815c72dec4b083bf297caec7a8e3f4b/lib/alsa-lib/libasound_module_pcm_jack.so: cannot open shared object file: No such file or directory)

These ones are a bit confusing;

ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card

Is it possible that oss/50-oss.conf and usb_stream/98-usb-stream.conf need to get updated?

slow audio when plug/unplug external USB audio device

Dear Developers,

I am using a debian testing, and tried a couple of libasound2-plugins versions (deb marillat versions, unstable version), but this bug is still present.
I am using an external USB audio device, and pulseaudio for usual audio usages (browser, player, etc).
When pulsaudio starts, everything is fine with the audio system: when a sound is played, everything is ok.
Even if I unplug the usb device, the audio file is still played in the internal sound card with a correct bitrate.
Unfortunalely, when I replug the USB audio device, the audio file is now played with a slow speed, as if the bitrate was not correctly interpreted;

I tried several settings in the /etc/pulse/daemon.conf without success: trying to change defaultt-sample-rate / alternate-sample-rate to the same value or to different values such as 44100 and 48000, using avoid-resampling=yes or not.

Here is the output of "pactl info":

Server String: /run/user/1000/pulse/native
Library Protocol Version: 34
Server Protocol Version: 34
Is Local: yes
Client Index: 9
Tile Size: 65472
User Name: jm
Host Name: L-16V52X2
Server Name: pulseaudio
Server Version: 14.2
Default Sample Specification: float32le 2ch 44100Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-PreSonus_AudioBox_22_VSL_2214-00.analog-stereo
Default Source: alsa_input.usb-PreSonus_AudioBox_22_VSL_2214-00.analog-stereo

Here is the output of "pacmd list-sinks" while the system is playing a slow speed audio (after usb unplug / plug):

2 sink(s) available.

  • index: 0
    name: <alsa_output.usb-PreSonus_AudioBox_22_VSL_2214-00.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 9049
    volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB
    balance 0,00
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 0,00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 0
    sample spec: s32le 2ch 44100Hz
    channel map: front-left,front-right
    Stéréo
    used by: 0
    linked by: 0
    configured latency: 0,00 ms; range is 0,50 .. 2000,00 ms
    card: 0 <alsa_card.usb-PreSonus_AudioBox_22_VSL_2214-00>
    module: 6
    properties:
    alsa.resolution_bits = "32"
    device.api = "alsa"
    device.class = "sound"
    alsa.class = "generic"
    alsa.subclass = "generic-mix"
    alsa.name = "USB Audio"
    alsa.id = "USB Audio"
    alsa.subdevice = "0"
    alsa.subdevice_name = "subdevice #0"
    alsa.device = "0"
    alsa.card = "1"
    alsa.card_name = "AudioBox 22 VSL"
    alsa.long_card_name = "PreSonus AudioBox 22 VSL at usb-0000:00:14.0-2.2, high speed"
    alsa.driver_name = "snd_usb_audio"
    device.bus_path = "pci-0000:00:14.0-usb-0:2.2:1.0"
    sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0/sound/card1"
    udev.id = "usb-PreSonus_AudioBox_22_VSL_2214-00"
    device.bus = "usb"
    device.vendor.id = "194f"
    device.vendor.name = "PreSonus Audio Electronics, Inc."
    device.product.id = "0101"
    device.product.name = "AudioBox 22 VSL"
    device.serial = "PreSonus_AudioBox_22_VSL_2214"
    device.string = "front:1"
    device.buffering.buffer_size = "705600"
    device.buffering.fragment_size = "352800"
    device.access_mode = "mmap+timer"
    device.profile.name = "analog-stereo"
    device.profile.description = "Stéréo analogique"
    device.description = "AudioBox 22 VSL Stéréo analogique"
    module-udev-detect.discovered = "1"
    device.icon_name = "audio-card-usb"
    ports:
    analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
    properties:

    active port: <analog-output>
    

    index: 1
    name: <alsa_output.pci-0000_00_1f.3.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 9039
    volume: front-left: 52428 / 80% / -5,81 dB, front-right: 52428 / 80% / -5,81 dB
    balance 0,00
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 0,00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 2
    sample spec: s32le 2ch 44100Hz
    channel map: front-left,front-right
    Stéréo
    used by: 0
    linked by: 0
    configured latency: 0,00 ms; range is 0,50 .. 2000,00 ms
    card: 1 <alsa_card.pci-0000_00_1f.3>
    module: 7
    properties:
    alsa.resolution_bits = "32"
    device.api = "alsa"
    device.class = "sound"
    alsa.class = "generic"
    alsa.subclass = "generic-mix"
    alsa.name = "ALC3246 Analog"
    alsa.id = "ALC3246 Analog"
    alsa.subdevice = "0"
    alsa.subdevice_name = "subdevice #0"
    alsa.device = "0"
    alsa.card = "0"
    alsa.card_name = "HDA Intel PCH"
    alsa.long_card_name = "HDA Intel PCH at 0xec348000 irq 141"
    alsa.driver_name = "snd_hda_intel"
    device.bus_path = "pci-0000:00:1f.3"
    sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
    device.bus = "pci"
    device.vendor.id = "8086"
    device.vendor.name = "Intel Corporation"
    device.product.id = "9d71"
    device.product.name = "Sunrise Point-LP HD Audio"
    device.form_factor = "internal"
    device.string = "front:0"
    device.buffering.buffer_size = "705600"
    device.buffering.fragment_size = "352800"
    device.access_mode = "mmap+timer"
    device.profile.name = "analog-stereo"
    device.profile.description = "Stéréo analogique"
    device.description = "Audio interne Stéréo analogique"
    module-udev-detect.discovered = "1"
    device.icon_name = "audio-card-pci"
    ports:
    analog-output-speaker: Speakers (priority 10000, latency offset 0 usec, available: unknown)
    properties:
    device.icon_name = "audio-speakers"
    analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: no)
    properties:
    device.icon_name = "audio-headphones"
    active port:

This bugreport has been first reported on the debian bug report system: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=992780

Config file for a52 plugin (60-a52-encoder.conf) produces no/garbled sound via optical digital out (S/PDIF)

Dear Maintainer,

this bug was originally reported on the debian tracker. They advised me to post it here.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=998125

  • What led up to the situation?
    Fresh Debian 11 install. I want to output 5.1 sound via toslink.
    Used KDE settings to switch from analog output to digital out 5.1.
    This produced no or garbled sound and Youtube videos would play back way to fast without sound.
    Then I switched to digital out stereo, this worked as expected but only stereo.

I could trace back the error to the shipped config file for alsa's a52 plugin: 60-a52-encoder.conf.

When I replaced that file with a much simpler one (see below) 5.1 digital out worked as expected.

I tried with onboard sound (PCH9) and dedicated card (Audigy Z) with the same result, the inlcuded a52 config file does not work.

== Start working a52.conf

pcm.a52 {
  @args [CARD]
  @args.CARD {
    type string
  }
  type rate
  slave {
    pcm {
      type a52
      bitrate 448
      channels 6
      card $CARD
    }
  rate 48000
  }
}

== End working a52.conf

Therefore I assume the shipped config file with debian has an error somewhere. Please fix this.

Best reagards
Jens

-- System Information:
Debian Release: 11.1
Architecture: amd64 (x86_64)

Kernel: Linux 5.14.0-0.bpo.2-amd64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_UNSIGNED_MODULE
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libasound2-plugins depends on:
ii libasound2 1.2.4-1.1
ii libavcodec-extra58 [libavcodec58] 7:4.3.2-0+deb11u2
ii libavresample4 7:4.3.2-0+deb11u2
ii libavutil56 7:4.3.2-0+deb11u2
ii libc6 2.31-13+deb11u2
ii libjack0 [libjack-0.125] 1:0.125.0-3+b1
ii libpulse0 14.2-2
ii libsamplerate0 0.2.1+ds0-1

crackling microphone

Hi!

When I send a 800Hz sine wave with rate 12345 to pcm.outmic and
when I arecord from pcm.micend at rate 8000 with 1 channel (/etc/asound.conf),
then I get a lot of tiny little gaps (see attachment) and a lot of messages like "overrun!!! (at least 0.014 ms long)" (the "ms" vary from 0.008 to 0.043; and arecord continues to record) and sometimes even this error: "arecord: xrun:1672: read/write error, state = RUNNING" (it causes arecord to terminate).

  1. speaker-test -D outmic -t sine -f 800 -c2 -r 12345

  2. arecord -D micend -r 8000 -c 1 -f S16_LE /tmp/bla.wav

twinkle makes even bigger gaps, when I let it use pcm.micend as microphone...
But with hw:Generic,0,0 as mic device twinkle works fine...
LubosD/twinkle#207

"samplerate_best" and "samplerate_order" seems to make it worse...

How can I fix that?

Thx.

Bye.

audacity screenshot

time to remove COPYING.GPL from alsa-plugins?

It seems the only thing in alsa-plugins that could have a GPL license is rate/rate_samplerate.c, which has this at the top of the file:

  • This plugin code is supposed to be used and distributed primarily
  • under GPL v2 or later, in order to follow the license of libsamplerate.
  • However, if you already own a commercial license to use libsamplerate
  • for dynamic linking, this plugin code can be used and distributed also
  • under LGPL v2.1 or later.

In 2016, libsamplerate dropped its commercial license requirement and was released with the 2-Clause BSD license. (See http://libsndfile.github.io/libsamplerate//license.html)

So I was wondering if the license for rate_samplerate.c can be updated to remove the GPLv2, which means the COPYING.GPL file can also be removed from the alsa-plugins package?

Thank you!

No output for AC3

Sorry if this is not the proper place to ask, I'm gratefully taking any other suggestions.

I use a toslink table from my computer to a Logitech z906 system, which can decode AC3 (as proven in Windows which is installed in parallel). If I select "Digital Stereo (IEC958)", I'm getting stereo output. Also, I can play a special AC3 test file (avi) via VLC and get a proper decoding of 5.1 (obviously passed thru).

I assume that if I select "Digital Surround 5.1 (IEC958/AC3)", the A52 plugin is used. However, I get nothing but silence from the 6 speakers when I do the test, and when I try any other application. I am using pulseaudio (probably as in most installations today); I don't know whether this is important.

I thought that the A52 plugin must be configured in .asoundrc before I learned that this is already done in /etc/alsa/conf.d/60-a52-encoder.conf. Moreover, the manuals for A52 and configuration do not reveal a lot, in particular for troubleshooting.

jack plugin freezes mpv.

I'm using alsa-plugin-1.1.8

mpv --audio-device=alsa/plug:rawjack /path/to/musicfile freezes mpv.
mpv doesn't freeze only when it plays a wav file.
I have to press Ctrl+C twice to kill mpv.

cannot stat '.libs/libasound_module_ctl_oss.so'

hello
i have a problem about "make install"
after i compile it with cross-compiler, i want to run make intall, but after make install, some error occured as followed,could you kindly help?

magic@VM-work:alsa-plugins$ make install
Making install in doc
make[1]: Entering directory '/home/magic/work/opensource/AVB_TSN/alsa-plugins/alsa-plugins/doc'
make[2]: Entering directory '/home/magic/work/opensource/AVB_TSN/alsa-plugins/alsa-plugins/doc'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/magic/work/opensource/AVB_TSN/alsa-plugins/alsa-plugins/doc'
make[1]: Leaving directory '/home/magic/work/opensource/AVB_TSN/alsa-plugins/alsa-plugins/doc'
Making install in oss
make[1]: Entering directory '/home/magic/work/opensource/AVB_TSN/alsa-plugins/alsa-plugins/oss'
make[2]: Entering directory '/home/magic/work/opensource/AVB_TSN/alsa-plugins/alsa-plugins/oss'
make[2]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/magic/work/opensource/AVB_TSN/out/lib/alsa-lib'
/bin/bash ../libtool --mode=install /usr/bin/install -c libasound_module_ctl_oss.la '/home/magic/work/opensource/AVB_TSN/out/lib/alsa-lib'
libtool: install: /usr/bin/install -c .libs/libasound_module_ctl_oss.so /home/magic/work/opensource/AVB_TSN/out/lib/alsa-lib/libasound_module_ctl_oss.so
/usr/bin/install: cannot stat '.libs/libasound_module_ctl_oss.so': No such file or directory
make[2]: *** [Makefile:411: install-asound_module_ctl_ossLTLIBRARIES] Error 1
make[2]: Leaving directory '/home/magic/work/opensource/AVB_TSN/alsa-plugins/alsa-plugins/oss'
make[1]: *** [Makefile:646: install-am] Error 2
make[1]: Leaving directory '/home/magic/work/opensource/AVB_TSN/alsa-plugins/alsa-plugins/oss'
make: *** [Makefile:443: install-recursive] Error 1

Race condition when closing the Jack plugin

There is a potential race condition that can cause segmentation faults if the Jack process callback is called between the call to snd_pcm_jack_stop and snd_pcm_jack_hw_free. This was introduced by revision badd921.

Undeclarated constant

Hi,
I am trying to install the alsa-plugins, when I do the make command I get the following errors:

Captura de pantalla de 2021-06-10 13-52-37

How can I solve it?

Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.