openjdk team mailing list archive
-
openjdk team
-
Mailing list archive
-
Message #05036
[Bug 525883] Re: Java applet audio with pulseaudio broken (local apps likely broken)
Why are you closing this bug as invalid!?? How is it a user error if the
bug still exists in default install (running 10.10 amd64)
Fix is to:
# ln -s ../amd64 /usr/lib/jvm/java-6-openjdk/jre/lib/ext/amd64
and then add to /etc/java-6-openjdk/security/java.policy
permission java.lang.RuntimePermission "loadLibrary.pulse-java";
permission java.io.FilePermission "/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/libpulse-java.so", "read";
That got the
http://www.roseindia.net/java/example/java/applet/PlaySoundApplet.html
playing sound. Need to test microphone in next webex meeting
--
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-6 in ubuntu.
https://bugs.launchpad.net/bugs/525883
Title:
Java applet audio with pulseaudio broken (local apps likely broken)
Status in “openjdk-6” package in Ubuntu:
Invalid
Bug description:
Binary package hint: openjdk-6-jre
Problem: No audio output from applets in firefox using pulseaudio.
charm% lsb_release -rd
Description: Ubuntu 9.10
Release: 9.10
This bug is in a combination of packages:
- openjdk-6-jre 6b16-1.6.1-3ubuntu1
- openjdk-6-jre-lib 6b16-1.6.1-3ubuntu1
- icedtea6-plugin 6b16-1.6.1-3ubuntu1
Examples:
- Webex meetings
- http://www.javazoom.net/applets/tinyplayer/tinyplayer.html
Doing some investigation, I found two things:
- There is a security policy problem for applets using sound
- There is a packaging problem with the location of the native pulse library for java
Working backwards using java stacktraces on stderr, I found the following permissions
were necessary to get audio output from java:
$ cat .java.policy
grant {
permission java.lang.RuntimePermission
"loadLibrary.pulse-java";
permission java.io.FilePermission
"/usr/lib/jvm/java-6-openjdk/jre/lib/ext/i386/libpulse-java.so", "read";
};
Then, I found that the .so file didn't actually exist! Instead, it's in a different directory:
$ dpkg -L openjdk-6-jre | grep pulse
/usr/lib/jvm/java-6-openjdk/jre/lib/i386/libpulse-java.so
Making a symbolic link fixed everything and made it work:
$ ls -l /usr/lib/jvm/java-6-openjdk/jre/lib/ext/i386
lrwxrwxrwx 1 root root 7 2010-02-22 11:19 /usr/lib/jvm/java-6-openjdk/jre/lib/ext/i386 -> ../i386
I can't say how the policies should be managed for applets, but even regular java programs aren't likely to work until the packaging is fixed.
-Dave
References