# HG changeset patch # User Omair Majid # Date 1340928886 14400 # Node ID ae07c41dc3c2f2f0e22ed876de71cad0050c7fa4 # Parent 1364a03b0f2b1c7555261415c6deea4b2fdf7061 PR902: PulseAudioClip getMicrosecondsLength() returns length in milliseconds, not microseconds Define a (correct) constant for converting from seconds to microsecond and use it everywhere. 2012-06-28 Omair Majid * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java (getMicrosecondLength, getMicrosecondPosition) (setMicrosecondPosition): Use correct factor to convert seconds to microseconds. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java (getMicrosecondPosition): Likewise. * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java: Define SECONDS_TO_MICROSECONDS. diff -r 1364a03b0f2b -r ae07c41dc3c2 ChangeLog --- a/ChangeLog Wed Mar 02 05:23:53 2016 +0000 +++ b/ChangeLog Thu Jun 28 20:14:46 2012 -0400 @@ -1,3 +1,14 @@ +2012-06-28 Omair Majid + + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java + (getMicrosecondLength, getMicrosecondPosition) + (setMicrosecondPosition): Use correct factor to convert seconds to + microseconds. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java + (getMicrosecondPosition): Likewise. + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java: + Define SECONDS_TO_MICROSECONDS. + 2011-06-16 Denis Lila * Makefile.am: Add ContextEvent to the list of pulse audio classes that diff -r 1364a03b0f2b -r ae07c41dc3c2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java Wed Mar 02 05:23:53 2016 +0000 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java Thu Jun 28 20:14:46 2012 -0400 @@ -343,7 +343,7 @@ return AudioSystem.NOT_SPECIFIED; } synchronized (clipLock) { - return (long) (frameCount / currentFormat.getFrameRate() * 1000); + return (long) (frameCount / currentFormat.getFrameRate() * SECONDS_TO_MICROSECONDS); } } @@ -354,7 +354,7 @@ } synchronized (clipLock) { - return (long) (framesSinceOpen / currentFormat.getFrameRate() * 1000); + return (long) (framesSinceOpen / currentFormat.getFrameRate() * SECONDS_TO_MICROSECONDS); } } @@ -503,7 +503,7 @@ throw new IllegalStateException("Line not open"); } - float frameIndex = microseconds * currentFormat.getFrameRate() / 1000; + float frameIndex = microseconds * currentFormat.getFrameRate() / SECONDS_TO_MICROSECONDS; /* make frameIndex positive */ while (frameIndex < 0) { diff -r 1364a03b0f2b -r ae07c41dc3c2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java Wed Mar 02 05:23:53 2016 +0000 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java Thu Jun 28 20:14:46 2012 -0400 @@ -42,6 +42,8 @@ */ interface PulseAudioPlaybackLine { + static final int SECONDS_TO_MICROSECONDS = 1000000; + /** * Set the volume of the Line (ie, sink input, source, or sink) * diff -r 1364a03b0f2b -r ae07c41dc3c2 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java --- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Wed Mar 02 05:23:53 2016 +0000 +++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Thu Jun 28 20:14:46 2012 -0400 @@ -254,7 +254,7 @@ float frameRate = currentFormat.getFrameRate(); float time = framesSinceOpen / frameRate; // seconds - long microseconds = (long) (time * 1000); + long microseconds = (long) (time * SECONDS_TO_MICROSECONDS); return microseconds; }