1/* 2 * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 * or visit www.oracle.com if you need additional information or have any 21 * questions. 22 */ 23 24/** 25 * @test 26 * @bug 6944033 27 * @summary Tests that PCM_FLOAT encoding is supported 28 * @compile PCM_FLOAT_support.java 29 * @run main PCM_FLOAT_support 30 * @author Alex Menkov 31 * 32 */ 33 34import javax.sound.sampled.AudioFormat.Encoding; 35import javax.sound.sampled.AudioSystem; 36 37 38public class PCM_FLOAT_support { 39 40 static Encoding pcmFloatEnc; 41 42 static boolean testFailed = false; 43 44 public static void main(String[] args) throws Exception { 45 // 1st checks Encoding.PCM_FLOAT is available 46 pcmFloatEnc = Encoding.PCM_FLOAT; 47 48 Encoding[] encodings = AudioSystem.getTargetEncodings(pcmFloatEnc); 49 out("conversion from PCM_FLOAT to " + encodings.length + " encodings:"); 50 for (Encoding e: encodings) { 51 out(" - " + e); 52 } 53 if (encodings.length == 0) { 54 testFailed = true; 55 } 56 57 test(Encoding.PCM_SIGNED); 58 test(Encoding.PCM_UNSIGNED); 59 60 if (testFailed) { 61 throw new Exception("test failed"); 62 } 63 out("test passed."); 64 } 65 66 static void out(String s) { 67 System.out.println(s); 68 } 69 70 static boolean test(Encoding enc) { 71 out("conversion " + enc + " -> PCM_FLOAT:"); 72 Encoding[] encodings = AudioSystem.getTargetEncodings(enc); 73 for (Encoding e: encodings) { 74 if (e.equals(pcmFloatEnc)) { 75 out(" - OK"); 76 return true; 77 } 78 } 79 out(" - FAILED (not supported)"); 80 testFailed = true; 81 return false; 82 } 83 84} 85