Hello,

This patch fixes a number of  small bugs in the javax.sound implementation and
makes its behavior closer to the openjdk one.

ChangeLog entries:

        * javax/sound/midi/MidiMessage.java (MidiMessage): Don't dereference
        "data" parameter if it is null.
        * javax/sound/midi/MidiMessage.java (setMessage): Check "length"
        parameter validity; allocate new byte array for "data" only if the
        previous one is null or not long enough.
        * javax/sound/midi/SysexMessage.java (setMessage): Likewise.
        * javax/sound/midi/MidiSystem.java (getMidiFileTypes): Defend against
        running out of "supported" array (which is of length 3).
        * javax/sound/midi/SysexMessage.java (setMessage): Zero-extend data[0]
        byte (into "status" local variable).
        * javax/sound/midi/SysexMessage.java (clone): Don't call arraycopy()
        if "data" is null.
        * javax/sound/sampled/CompoundControl.java (CompoundControl): Remove
        FIXME for cloning (match the RI behavior).
        * javax/sound/sampled/EnumControl.java (EnumControl): Likewise.
        * javax/sound/sampled/CompoundControl.java (getMemberControls): Do
        cloning of "memberControls" array.
        * javax/sound/sampled/EnumControl.java (getValues): Likewise.
        * javax/sound/sampled/EnumControl.java (setValue): Swap sides in
        equals() call (to match the RI); pass "value" to
        IllegalArgumentException constructor.
        * javax/sound/sampled/EnumControl.java (toString): Use getValue().
        * javax/sound/sampled/Line.java (Info.klass): Make final; add
        generics.
        * javax/sound/sampled/Line.java (Info): If "klass" is null then use
        Line.class (to match the RI).
        * javax/sound/sampled/Line.java (Info.matches): Use isInstance() and
        isAssignableFrom() instead of equals() (to match the RI).
        * javax/sound/sampled/spi/FormatConversionProvider.java
        (isConversionSupported): Search for at least one "encodings" element
        matching "targ" (to match the RI).

Attachment: classpath-ivmai-05.diff
Description: Binary data

Reply via email to