[pulseaudio-discuss] No volume control for audio from java applet in browser (pulseaudio-discuss Digest, Vol 26, Issue 61)

Alexander E. Patrakov patrakov at gmail.com
Thu Jul 4 04:00:52 PDT 2013


2013/7/3 Andrew Skretvedt <andrew.skretvedt at gmail.com>:
> Results:
> (2) I put the "flat-volumes = no" line into /etc/pulse/daemon.conf
> next. Refer back to my prior post for full details on the prior
> behavior I observed. Now, the flat-volumes=no line didn't resolve my
> primary concern (why no playback volume slider for java?), but does
> change the volume control behavior of the java audio, and decouples
> the java audio from being strangely adjusted whenever I adjusted the
> pavucontrol playback slider(s) for any other application outputting
> audio. The java audio is left alone at its initial volume. I guess
> that's an improvement (I consider it a bug, or something, that I could
> manipulate the java audio by sliding the playback slider for deedbeef,
> say).

Thanks for providing additional details. It is indeed strange that
Java could play sound simultaneously with some other application, but
without its volume slider being visible in pavucontrol. Anyway, this
also means that the flat-volumes test result is invalid. Until this is
disgnosed (see below), I can't meaningfully comment, won't agree and
won't disagree with your replies to the text between <troll> and
</troll> in my original mail.

> Apparently, in my system, the Adobe Flash plugin seems to try to use
> ALSA too, but I think my configuration wants to catch such an attempt
> and redirect that access through some kind of wrapper (?) so it can
> then be handled by PulseAudio like any other stream.

The wrapper you are referring to is the "pulse" ALSA plugin that
provides the default ALSA device if PulseAudio is installed.

> The attached
> screenshot demonstrates what happens when I start a YouTube video
> playing. If that's what's happening, I think that's great! So...I will
> investigate if it's possible to reconfigure icedtea java to use alsa
> instead of Pulse, and see if I would get the same behavior I'm getting
> for Flash. That would solve my primary concern, and would seem to
> demonstrate either a bug in Pulse, or a bug in java's use of Pulse. Do
> you have any thoughts on that?

Yes.

What you experience looks like Java bypassing not only PulseAudio, but
also its ALSA plugin, and falling back to direct access to your
hardware (that presumably has hardware mixing enabled). This should
never happen, but can happen if the ALSA plugin is unusable from the
java process.

Please confirm that you use the version of java of the same bitness as
your main system, i.e. are not trying to use a 32-bit Java on a 64-bit
system. For that to work, you would also need a 32-bit alsa-plugins
package. On Debian, this is provided by lib32asound2-plugins (Debian
Squeeze) or libasound2-plugins:i386 (Debian Wheezy). Of course, it is
better to install a 64-bit java on 64-bit system.

The output of the following commands (as a user, NOT as root!) will
help troubleshooting:

java -version
file /usr/bin/pulseaudio
find /usr/lib* -name \*pcm_pulse\*
python -c 'print "\0" * 1023' | aplay -vv -f cd

--
Alexander E. Patrakov


More information about the pulseaudio-discuss mailing list