changeset 1423:58f7eb173fe0

2008-11-10 Omair Majid <omajid@redhat.com> * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java (close): Dont check for permission to play audio. Always granted. Infact, checking it causes an AccessControlException for untrusted applets. The ALSA based backend doesnt check this permission at all. (open): Likewise. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java (getLine): Likewise. (getSourceLines): Likewise. (close): Likewise. (open): Likewise. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java (open): Likewise. (close): Likewise. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java (open): Likewise. (close): Likewise
author Omair Majid <omajid@redhat.com>
date Mon, 10 Nov 2008 13:47:29 -0500
parents e7a4c496b2c0
children 92b3adc8a186
files ChangeLog pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
diffstat 5 files changed, 28 insertions(+), 66 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Nov 10 10:15:16 2008 -0500
+++ b/ChangeLog	Mon Nov 10 13:47:29 2008 -0500
@@ -1,3 +1,22 @@
+2008-11-10  Omair Majid  <omajid@redhat.com>
+
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java
+	(close): Dont check for permission to play audio. Always granted.
+	Infact, checking it causes an AccessControlException for untrusted
+	applets. The ALSA based backend doesnt check this permission at all.
+	(open): Likewise.
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
+	(getLine): Likewise.
+	(getSourceLines): Likewise.
+	(close): Likewise.
+	(open): Likewise.
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
+	(open): Likewise.
+	(close): Likewise.
+	* pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
+	(open): Likewise.
+	(close): Likewise.
+
 2008-11-10  Omair Majid  <omajid@redhat.com>
 
 	* pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java	Mon Nov 10 10:15:16 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java	Mon Nov 10 13:47:29 2008 -0500
@@ -41,7 +41,6 @@
 
 import javax.sound.sampled.AudioFormat;
 import javax.sound.sampled.AudioInputStream;
-import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.AudioSystem;
 import javax.sound.sampled.Clip;
 import javax.sound.sampled.DataLine;
@@ -231,10 +230,6 @@
 	@Override
 	public void close() {
 
-		/* check for permission to play audio */
-		AudioPermission perm = new AudioPermission("play", null);
-		perm.checkGuard(null);
-
 		if (!isOpen) {
 			throw new IllegalStateException("line already closed");
 		}
@@ -397,10 +392,6 @@
 	public void open(AudioFormat format, byte[] data, int offset, int bufferSize)
 			throws LineUnavailableException {
 
-		/* check for permission to play audio */
-		AudioPermission perm = new AudioPermission("play", null);
-		perm.checkGuard(null);
-
 		super.open(format);
 		this.data = new byte[bufferSize];
 		System.arraycopy(data, offset, this.data, 0, bufferSize);
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java	Mon Nov 10 10:15:16 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java	Mon Nov 10 13:47:29 2008 -0500
@@ -298,15 +298,11 @@
 		}
 
 		if ((info.getLineClass() == SourceDataLine.class)) {
-			/* check for permission to play audio */
-			AudioPermission perm = new AudioPermission("play", null);
-			perm.checkGuard(null);
-
 			return new PulseAudioSourceDataLine(formats, defaultFormat);
 		}
 
 		if ((info.getLineClass() == TargetDataLine.class)) {
-			/* check for permission to play audio */
+			/* check for permission to record audio */
 			AudioPermission perm = new AudioPermission("record", null);
 			perm.checkGuard(null);
 
@@ -314,10 +310,6 @@
 		}
 
 		if ((info.getLineClass() == Clip.class)) {
-			/* check for permission to play audio */
-			AudioPermission perm = new AudioPermission("play", null);
-			perm.checkGuard(null);
-
 			return new PulseAudioClip(formats, defaultFormat);
 		}
 
@@ -371,11 +363,6 @@
 
 	@Override
 	public Line[] getSourceLines() {
-
-		/* check for permmission to play audio */
-		AudioPermission perm = new AudioPermission("play", null);
-		perm.checkGuard(null);
-
 		return (Line[]) sourceLines.toArray(new Line[0]);
 
 	}
@@ -401,7 +388,7 @@
 	@Override
 	public Line[] getTargetLines() {
 
-		/* check for permission to play audio */
+		/* check for permission to record audio */
 		AudioPermission perm = new AudioPermission("record", null);
 		perm.checkGuard(null);
 
@@ -492,16 +479,6 @@
 		 * is allowed
 		 */
 
-		try {
-			/* check for permission to play audio */
-			AudioPermission perm = new AudioPermission("play", null);
-			perm.checkGuard(null);
-		} catch (SecurityException e) {
-			/* check for permission to record audio */
-			AudioPermission perm = new AudioPermission("record", null);
-			perm.checkGuard(null);
-		}
-
 		if (!this.isOpen) {
 			throw new IllegalStateException("Mixer is not open; cant close");
 		}
@@ -617,16 +594,6 @@
 		 * is allowed
 		 */
 
-		try {
-			/* check for permission to play audio */
-			AudioPermission perm = new AudioPermission("play", null);
-			perm.checkGuard(null);
-		} catch (SecurityException e) {
-			/* check for permission to record audio */
-			AudioPermission perm = new AudioPermission("record", null);
-			perm.checkGuard(null);
-		}
-
 		if (isOpen) {
 			throw new IllegalStateException("Mixer is already open");
 		}
@@ -738,7 +705,6 @@
 	 * Cons: - eventListeners are run from other threads, if those then call
 	 * fireEvent while a method is waiting on a listener, this synchronized
 	 * block wont be entered: deadlock!
-	 * 
 	 */
 	private void fireEvent(final LineEvent e) {
 		synchronized (lineListeners) {
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java	Mon Nov 10 10:15:16 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java	Mon Nov 10 13:47:29 2008 -0500
@@ -68,10 +68,6 @@
 	synchronized public void open(AudioFormat format, int bufferSize)
 			throws LineUnavailableException {
 
-		/* check for permission to play audio */
-		AudioPermission perm = new AudioPermission("play", null);
-		perm.checkGuard(null);
-
 		super.open(format, bufferSize);
 
 		volumeControl = new PulseAudioVolumeControl(this, eventLoop);
@@ -154,11 +150,14 @@
 		}
 
 		if (offset < 0) {
-			throw new ArrayIndexOutOfBoundsException("offset is negative: " + offset);
+			throw new ArrayIndexOutOfBoundsException("offset is negative: "
+					+ offset);
 		}
-		
+
 		if (length + offset > data.length) {
-			throw new ArrayIndexOutOfBoundsException("writing data beyond the length of the array: " + (length + offset));
+			throw new ArrayIndexOutOfBoundsException(
+					"writing data beyond the length of the array: "
+							+ (length + offset));
 		}
 
 		int position = offset;
@@ -318,10 +317,6 @@
 	@Override
 	synchronized public void close() {
 
-		/* check for permmission to play audio */
-		AudioPermission perm = new AudioPermission("play", null);
-		perm.checkGuard(null);
-
 		if (!isOpen) {
 			throw new IllegalStateException("not open so cant close");
 		}
@@ -333,7 +328,7 @@
 
 		super.close();
 	}
-	
+
 	public javax.sound.sampled.Line.Info getLineInfo() {
 		return new DataLine.Info(SourceDataLine.class, supportedFormats,
 				StreamBufferAttributes.MIN_VALUE,
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java	Mon Nov 10 10:15:16 2008 -0500
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java	Mon Nov 10 13:47:29 2008 -0500
@@ -37,7 +37,6 @@
 
 package org.classpath.icedtea.pulseaudio;
 
-import javax.sound.sampled.AudioPermission;
 import javax.sound.sampled.Port;
 
 public class PulseAudioTargetPort extends PulseAudioPort {
@@ -55,10 +54,6 @@
 
 	public void open() {
 
-		/* check for permission to play audio */
-		AudioPermission perm = new AudioPermission("play", null);
-		perm.checkGuard(null);
-
 		super.open();
 
 		PulseAudioMixer parent = PulseAudioMixer.getInstance();
@@ -67,10 +62,6 @@
 
 	public void close() {
 
-		/* check for permission to play audio */
-		AudioPermission perm = new AudioPermission("play", null);
-		perm.checkGuard(null);
-
 		if (!isOpen) {
 			throw new IllegalStateException("not open, so cant close Port");
 		}