Path: blob/master/test/jdk/javax/sound/midi/Synthesizer/SynthesizerGetLatency.java
41154 views
/*1* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223import javax.sound.midi.MidiSystem;24import javax.sound.midi.MidiUnavailableException;25import javax.sound.midi.Synthesizer;2627/**28* @test29* @bug 502979030* @summary Synthesizer.getLatency returns wrong value31*/32public class SynthesizerGetLatency {3334public static void main(String args[]) throws Exception {35Synthesizer synth = null;36boolean failed = false;37boolean notexec = false;38try {39synth = MidiSystem.getSynthesizer();40System.out.println("Got synth: "+synth);41synth.open();4243int latency = (int) synth.getLatency();44System.out.println(" -> latency: "45+latency46+" microseconds");47if (latency < 5000 && latency > 0) {48System.out.println("## This latency is VERY small, probably due to this bug.");49System.out.println("## This causes failure of this test.");50failed = true;51}52} catch (MidiUnavailableException mue) {53System.err.println("MidiUnavailableException was "54+"thrown: " + mue);55System.out.println("could not test.");56notexec = true;57} catch(SecurityException se) {58se.printStackTrace();59System.err.println("Sound access is not denied but "60+ "SecurityException was thrown!");61notexec = true;62} finally {63if (synth != null) synth.close();64}656667if (failed) {68throw new Exception("Test FAILED!");69}70if (notexec) {71System.out.println("Test not failed.");72} else {73System.out.println("Test Passed.");74}75}76}777879