Bug 79280 - loading alsa-sinks including ladspa-filters fails
Summary: loading alsa-sinks including ladspa-filters fails
Status: RESOLVED MOVED
Alias: None
Product: PulseAudio
Classification: Unclassified
Component: alsa (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: pulseaudio-bugs
QA Contact: pulseaudio-bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-26 22:30 UTC by Usr
Modified: 2018-07-30 09:37 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
my asoundrc including the rl-crossover (2.89 KB, text/plain)
2014-05-26 22:30 UTC, Usr
Details

Description Usr 2014-05-26 22:30:23 UTC
Created attachment 99905 [details]
my asoundrc including the rl-crossover

(As requested in the faq, i mention this bug occured on Kubuntu, but it was reproduced by an user of #alsa on Debian)

I've created a Linkwitz-Riley-crossover (4th order) in .asoundrc for upmixing 2.0->2.1 (see attached .asoundrc). The crossover works great with aplay or with vlc when selected as alsa output device.

I can load any pcm from .asoundrc as alsa-sink, as long as there's no ladspa-filter in the signal chain.

But when i do pactl load-module module-alsa-sink device=upmixplug, it fails with:
I: [pulseaudio] client.c: Created 7 "Native client (UNIX socket client)"
D: [pulseaudio] protocol-native.c: Protocol version: remote 28, local 28
I: [pulseaudio] protocol-native.c: Got credentials: uid=1000 gid=1000 success=1
D: [pulseaudio] protocol-native.c: SHM possible: yes
D: [pulseaudio] protocol-native.c: Negotiated SHM: yes
D: [pulseaudio] module-augment-properties.c: Looking for .desktop file for pactl
D: [pulseaudio] alsa-util.c: Trying upmixplug with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open upmixplug
I: [pulseaudio] (alsa-lib)pcm_params.c: Slave PCM not usable
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_any() failed: Invalid argument
D: [pulseaudio] alsa-util.c: Trying upmixplug without SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open upmixplug
I: [pulseaudio] (alsa-lib)pcm_params.c: Slave PCM not usable
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_any() failed: Invalid argument
D: [pulseaudio] alsa-util.c: Trying plug:upmixplug with SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open plug:upmixplug
I: [pulseaudio] (alsa-lib)pcm_params.c: Slave PCM not usable
I: [pulseaudio] (alsa-lib)pcm_params.c: Slave PCM not usable
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_any() failed: Invalid argument
D: [pulseaudio] alsa-util.c: Trying plug:upmixplug without SND_PCM_NO_AUTO_FORMAT ...
D: [pulseaudio] alsa-util.c: Managed to open plug:upmixplug
I: [pulseaudio] (alsa-lib)pcm_params.c: Slave PCM not usable
I: [pulseaudio] (alsa-lib)pcm_params.c: Slave PCM not usable
D: [pulseaudio] alsa-util.c: snd_pcm_hw_params_any() failed: Invalid argument
I: [pulseaudio] alsa-util.c: Failed to set hardware parameters on plug:upmixplug: Invalid argument
E: [pulseaudio] module.c: Failed to load module "module-alsa-sink" (argument: "device=upmixplug"): initialization failed.
D: [pulseaudio] module-udev-detect.c: /dev/snd/controlC0 is accessible: yes
I: [pulseaudio] client.c: Freed 7 "pactl"
I: [pulseaudio] protocol-native.c: Connection died.


I get the same result with any other pcm from .asoundrc when a ladspa-filter is in the signal chain.
Before trying to load a sink, i've always unloaded the soundcard (D2X) from PA to avoid any chance of a collision.
Comment 1 Raymond 2014-05-27 15:19:18 UTC
D: [pulseaudio] alsa-util.c: Trying upmixplug with SND_PCM_NO_AUTO_FORMAT ...


this mean pulseaudio disable the format conversion of plug plugin from s16_le to float
Comment 2 Raymond 2014-05-28 07:23:38 UTC
how about

aplay -v --disable-format -D upmixplug foo.wav




I: [pulseaudio] (alsa-lib)pcm_params.c: Slave PCM not usable

for error message  you need to complie alsa-lib with 


#if 1
#define RULES_DEBUG
#endif

in alsa-lib/src/pcm/pcm_params.c

seem err in sprepare 

	err = sprepare(pcm, &sparams);
	if (err < 0) {
		SNDERR("Slave PCM not usable");
		return err;
	}
Comment 3 Raymond 2014-06-01 14:12:24 UTC
your error messages are similar to surround41 and surround50

https://bugs.freedesktop.org/attachment.cgi?id=87935
Comment 4 GitLab Migration User 2018-07-30 09:37:42 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/58.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.