< prev index next >

src/java.desktop/share/classes/com/sun/media/sound/FastSysexMessage.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -35,11 +35,13 @@
  */
 final class FastSysexMessage extends SysexMessage {
 
     FastSysexMessage(byte[] data) throws InvalidMidiDataException {
         super(data);
-        MidiUtils.checkSysexStatus(data, data.length);
+        if (data.length==0 || (((data[0] & 0xFF) != 0xF0) && ((data[0] & 0xFF) != 0xF7))) {
+            super.setMessage(data, data.length); // will throw Exception
+        }
     }
 
     /**
      * The returned array may be larger than this message is.
      * Use getLength() to get the real length of the message.

@@ -50,11 +52,13 @@
 
     // overwrite this method so that the original data array,
     // which is shared among all transmitters, cannot be modified
     @Override
     public void setMessage(byte[] data, int length) throws InvalidMidiDataException {
-        MidiUtils.checkSysexStatus(data, length);
+        if ((data.length == 0) || (((data[0] & 0xFF) != 0xF0) && ((data[0] & 0xFF) != 0xF7))) {
+            super.setMessage(data, data.length); // will throw Exception
+        }
         this.length = length;
         this.data = new byte[this.length];
         System.arraycopy(data, 0, this.data, 0, length);
     }
 
< prev index next >