Mercurial > hg > pulseaudio
changeset 61:ffc11c4c5c53
2008-08-11 Omair Majid <omajid@redhat.com>
* src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java: replaced volume value with constant
* src/java/org/classpath/icedtea/pulseaudio/PulseAudioStreamVolumeControl.java: added a check in setValue() for a valid value
* src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java: added constants for min and max value
* unittests/org/classpath/icedtea/pulseaudio/PulseSourceDataLineTest.java: modified the test to use the constants
author | Omair Majid <omajid@redhat.com> |
---|---|
date | Mon, 11 Aug 2008 17:30:11 -0400 |
parents | e77e418081f7 |
children | 686f9e8f1803 |
files | src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java src/java/org/classpath/icedtea/pulseaudio/PulseAudioStreamVolumeControl.java src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java unittests/org/classpath/icedtea/pulseaudio/PulseSourceDataLineTest.java |
diffstat | 4 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Mon Aug 11 16:55:35 2008 -0400 +++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Mon Aug 11 17:30:11 2008 -0400 @@ -125,7 +125,7 @@ public PulseAudioSourceDataLine(EventLoop eventLoop) { this.eventLoop = eventLoop; this.listeners = new ArrayList<LineListener>(); - this.volume = 65536; + this.volume = PulseAudioVolumeControl.MAX_VOLUME; /* * FIXME puselaudio supports any sample rate (it can covert between
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioStreamVolumeControl.java Mon Aug 11 16:55:35 2008 -0400 +++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioStreamVolumeControl.java Mon Aug 11 17:30:11 2008 -0400 @@ -6,7 +6,10 @@ import org.classpath.icedtea.pulseaudio.PulseAudioVolumeControl; public class PulseAudioStreamVolumeControl extends PulseAudioVolumeControl { + + @SuppressWarnings("unused") private long streamPointer; + private EventLoop eventLoop; private PulseAudioSourceDataLine line; @@ -31,6 +34,10 @@ } public synchronized void setValue(float newValue) { + if ( newValue > PulseAudioVolumeControl.MAX_VOLUME || newValue < PulseAudioStreamVolumeControl.MIN_VOLUME) { + throw new IllegalArgumentException("invalid value"); + } + if(!line.isMuted()) { setStreamVolume(newValue); }
--- a/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java Mon Aug 11 16:55:35 2008 -0400 +++ b/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java Mon Aug 11 17:30:11 2008 -0400 @@ -41,9 +41,12 @@ import javax.sound.sampled.FloatControl; abstract class PulseAudioVolumeControl extends FloatControl { + + public static final int MAX_VOLUME = 65536; + public static final int MIN_VOLUME = 0; protected PulseAudioVolumeControl(PulseAudioSourceDataLine line) { - super(FloatControl.Type.VOLUME, 0, 65536, 1, -1, line.getVolume(), "pulseaudio units", "Volume Off", "Default Volume", "Full Volume"); + super(FloatControl.Type.VOLUME, MIN_VOLUME, MAX_VOLUME, 1, -1, line.getVolume(), "pulseaudio units", "Volume Off", "Default Volume", "Full Volume"); }
--- a/unittests/org/classpath/icedtea/pulseaudio/PulseSourceDataLineTest.java Mon Aug 11 16:55:35 2008 -0400 +++ b/unittests/org/classpath/icedtea/pulseaudio/PulseSourceDataLineTest.java Mon Aug 11 17:30:11 2008 -0400 @@ -160,7 +160,7 @@ .getControl(BooleanControl.Type.MUTE); mute.setValue(true); - volume.setValue(40000); + volume.setValue(PulseAudioStreamVolumeControl.MAX_VOLUME); mute.setValue(false);