Mercurial > hg > release > icedtea6-1.2
changeset 846:8810f9b6e357
Fix SoftChannel controlChange for least significant control values.
2008-05-01 Mark Wielaard <mwielaard@redhat.com>
* overlays/openjdk/jdk/src/share/classes/com/sun/media/sound/
SoftChannel.java (controlChange): Reset least significant
controller if necessary.
author | Mark Wielaard <mark@klomp.org> |
---|---|
date | Fri, 02 May 2008 01:30:56 +0200 |
parents | 57bbbc3db355 |
children | bb8988602259 |
files | ChangeLog overlays/openjdk/jdk/src/share/classes/com/sun/media/sound/SoftChannel.java |
diffstat | 2 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu May 01 10:57:58 2008 +0200 +++ b/ChangeLog Fri May 02 01:30:56 2008 +0200 @@ -1,3 +1,9 @@ +2008-05-01 Mark Wielaard <mwielaard@redhat.com> + + * overlays/openjdk/jdk/src/share/classes/com/sun/media/sound/ + SoftChannel.java (controlChange): Reset least significant + controller if necessary. + 2008-05-01 Mark Wielaard <mwielaard@redhat.com> * overlays/openjdk/jdk/src/share/classes/com/sun/media/sound/
--- a/overlays/openjdk/jdk/src/share/classes/com/sun/media/sound/SoftChannel.java Thu May 01 10:57:58 2008 +0200 +++ b/overlays/openjdk/jdk/src/share/classes/com/sun/media/sound/SoftChannel.java Fri May 02 01:30:56 2008 +0200 @@ -1170,7 +1170,13 @@ return; } - this.controller[controller] = value; + // Keep track of values (capped to 7 bit). + // Reset least significant (32 through 63) + // controller value when most significant + // (0 through 31) is set. + this.controller[controller] = value & 127; + if (controller < 32) + this.controller[controller + 32] = 0; for (int i = 0; i < voices.length; i++) if (voices[i].active)