[pulseaudio-discuss] asoundrc, configure one virtual device for both input and output

Tanu Kaskinen tanuk at iki.fi
Sat Jun 30 23:49:31 PDT 2012

(CC'ing alsa-devel, because I had problems with building alsa-plugins)

On Sun, 2012-07-01 at 14:16 +0900, Amar Akshat wrote:
> Help me here with two things,
> 1) How do I fix this and test, as in should I clone the alsa-project,
> or download alsa code and fix and compile ? In case I have to clone
> it, can you also provide me the clone instructions.

git clone git://git.alsa-project.org/alsa-plugins.git alsa-plugins
cd alsa-plugins
./gitcompile --enable-pulseaudio

If the configure script complains about missing dependencies, you'll
need to install them.

After you have made your changes, I believe you should be able to test
them by running "make && sudo make install". I haven't tried that

I tried the "./gitcompile --enable-pulseaudio" command myself, and had
this problem:

Making all in pulse
make[2]: Entering directory `/home/tanu/dev/alsa-plugins/pulse'
/bin/bash ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..    -Wall -g -I/usr/include/alsa    -D_REENTRANT -I/usr/local/include   -D_GNU_SOURCE -g -O2 -MT ctl_pulse.lo -MD -MP -MF .deps/ctl_pulse.Tpo -c -o ctl_pulse.lo ctl_pulse.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -I/usr/include/alsa -D_REENTRANT -I/usr/local/include -D_GNU_SOURCE -g -O2 -MT ctl_pulse.lo -MD -MP -MF .deps/ctl_pulse.Tpo -c ctl_pulse.c  -fPIC -DPIC -o .libs/ctl_pulse.o
mv -f .deps/ctl_pulse.Tpo .deps/ctl_pulse.Plo
/bin/bash ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..    -Wall -g -I/usr/include/alsa    -D_REENTRANT -I/usr/local/include   -D_GNU_SOURCE -g -O2 -MT pulse.lo -MD -MP -MF .deps/pulse.Tpo -c -o pulse.lo pulse.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wall -g -I/usr/include/alsa -D_REENTRANT -I/usr/local/include -D_GNU_SOURCE -g -O2 -MT pulse.lo -MD -MP -MF .deps/pulse.Tpo -c pulse.c  -fPIC -DPIC -o .libs/pulse.o
mv -f .deps/pulse.Tpo .deps/pulse.Plo
/bin/bash ../libtool --tag=CC   --mode=link gcc -Wall -g -I/usr/include/alsa    -D_REENTRANT -I/usr/local/include   -D_GNU_SOURCE -g -O2 -module -avoid-version -export-dynamic -no-undefined   -o libasound_module_ctl_pulse.la -rpath /usr/lib/alsa-lib ctl_pulse.lo pulse.lo -lasound    -L/usr/local/lib -lpulse   -lasound 
libtool: link: gcc -shared  -fPIC -DPIC  .libs/ctl_pulse.o .libs/pulse.o   -L/usr/local/lib /usr/local/lib/libpulse.so -lasound  -O2   -pthread -Wl,-soname -Wl,libasound_module_ctl_pulse.so -o .libs/libasound_module_ctl_pulse.so
/bin/sed: can't read /usr/lib/x86_64-linux-gnu/libsndfile.la: No such file or directory
libtool: link: `/usr/lib/x86_64-linux-gnu/libsndfile.la' is not a valid libtool archive
make[2]: *** [libasound_module_ctl_pulse.la] Error 1
make[2]: Leaving directory `/home/tanu/dev/alsa-plugins/pulse'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/tanu/dev/alsa-plugins'
make: *** [all] Error 2

Debian doesn't ship libsndfile.la, so I tried installing libsndfile from
source. That didn't help at all. I eventually figured that since the
alsa build system doesn't reference libsndfile at all, libpulse must
somehow have a reference to /usr/lib/x86_64-linux-gnu/libsndfile.la
(even though my system has never had that file installed). I rebuilt
pulseaudio and installed it, and now it works (apparently because the
rebuilt version references the version of libsndfile that was built from
source, which includes libsndfile.la, instead of referencing the system
version of libsndfile).

Does anyone know if the build system of alsa-plugins could be improved
so that it doesn't use any external .la files when linking?

> 2) and after my modifications, my config in asoundrc should look like this ?
> pcm.pulse_dev1 {
>   type pulse
>   source alsa_input.pci-0000_00_1b.0.analog-stereo
>   sink alsa_output.pci-0000_00_1b.0.analog-mono
> }



More information about the pulseaudio-discuss mailing list