changeset 1081:e7b6e8e732e4

2008-10-10 Ioana Ivan <iivan@redhat.com> * src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java (getLine): LineUnavailablException is no longer thrown if the mixer is not open (getTargetLines) : returns a Line[] array instead of a TargetDataLine[] array * src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine (open(AudioFormat format, int bufferSize)): throws LineUnavailableException if the mixer is not open * src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip (open()): throws LineUnavailableException if the mixer is not open * src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort (PulseAudioPort): calls open()
author Ioana Ivan <iivan@redhat.com>
date Fri, 10 Oct 2008 17:12:18 -0400
parents 8b85ec866923
children a0124c4addcd
files ChangeLog pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java
diffstat 6 files changed, 32 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Oct 10 16:03:12 2008 -0400
+++ b/ChangeLog	Fri Oct 10 17:12:18 2008 -0400
@@ -1,3 +1,20 @@
+2008-10-10 Ioana Ivan <iivan@redhat.com>
+	* src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java
+	(getLine): LineUnavailablException is no longer thrown if the mixer is 
+	not open
+	(getTargetLines) : returns a Line[] array instead of a
+	TargetDataLine[] array
+
+	* src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine
+	(open(AudioFormat format, int bufferSize)): throws
+	LineUnavailableException if the mixer is not open
+
+	* src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip
+	(open()): throws LineUnavailableException if the mixer is not open
+
+	* src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort
+	(PulseAudioPort): calls open()
+
 2008-10-10 Ioana Ivan <iivan@redhat.com>
 	    Omair Majid <omajid@redhat.com>
 
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java	Fri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java	Fri Oct 10 17:12:18 2008 -0400
@@ -398,6 +398,11 @@
 	public void open(AudioFormat format, byte[] data, int offset, int bufferSize)
 			throws LineUnavailableException {
 
+		if(!PulseAudioMixer.getInstance().isOpen()) {
+			throw new LineUnavailableException("The mixer needs to be opened before opening a line");
+		}
+
+
 		/* check for permission to play audio */
 		AudioPermission perm = new AudioPermission("play", null);
 		perm.checkGuard(null);
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java	Fri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java	Fri Oct 10 17:12:18 2008 -0400
@@ -84,6 +84,10 @@
 		if (isOpen) {
 			throw new IllegalStateException("Line is already open");
 		}
+		if(!PulseAudioMixer.getInstance().isOpen()) {
+			throw new LineUnavailableException("The mixer needs to be opened before opening a line");
+		}
+
 
 		createStream(format);
 		addStreamListeners();
@@ -277,7 +281,6 @@
 
 	public void open() throws LineUnavailableException {
 		assert (defaultFormat != null);
-
 		open(defaultFormat, DEFAULT_BUFFER_SIZE);
 	}
 
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java	Fri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java	Fri Oct 10 17:12:18 2008 -0400
@@ -271,10 +271,6 @@
 			throw new IllegalArgumentException("Line unsupported: " + info);
 		}
 
-		if (!isOpen) {
-			throw new LineUnavailableException("The mixer isnt open");
-		}
-
 		AudioFormat[] formats = null;
 		AudioFormat defaultFormat = null;
 
@@ -410,7 +406,7 @@
 		AudioPermission perm = new AudioPermission("record", null);
 		perm.checkGuard(null);
 
-		return (Line[]) targetLines.toArray(new TargetDataLine[0]);
+		return (Line[]) targetLines.toArray(new Line[0]);
 	}
 
 	@Override
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java	Fri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java	Fri Oct 10 17:12:18 2008 -0400
@@ -76,8 +76,8 @@
 		controls.add(volumeControl);
 		muteControl = new PulseAudioMuteControl(this, volumeControl);
 		controls.add(muteControl);
-		isOpen = true;
-
+		//isOpen = true;
+		open();
 		/*
 		 * unlike other lines, Ports must either be open or close
 		 * 
@@ -141,7 +141,9 @@
 
 	@Override
 	public void open() {
-
+		if(isOpen) {
+			return;
+		}
 		native_setVolume(volume);
 		isOpen = true;
 		fireLineEvent(new LineEvent(this, LineEvent.Type.OPEN,
--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java	Fri Oct 10 16:03:12 2008 -0400
+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java	Fri Oct 10 17:12:18 2008 -0400
@@ -51,7 +51,6 @@
 	public PulseAudioTargetPort(String name, EventLoop eventLoop) {
 
 		super(name, eventLoop);
-
 	}
 
 	public void open() {