/* * @(#)AudioCodec.java 1.4 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package com.sun.media.codec.audio; import javax.media.format.*; import javax.media.format.*; import javax.media.*; import com.sun.media.*; public abstract class AudioCodec extends BasicCodec { public Format setInputFormat(Format format) { if (matches(format, inputFormats) == null) return null; inputFormat = format; return format; } public Format setOutputFormat(Format format) { if (matches(format, getSupportedOutputFormats(inputFormat)) == null) return null; if (!(format instanceof AudioFormat)) return null; outputFormat = (AudioFormat)format; return format; } /** * Checks the header of the compressed audio packet and detects any format * changes. Does not modify the buffer in any way. * TBD: how to select spesific output format */ public boolean checkFormat(Format format) { if (inputFormat == null || outputFormat == null || format != inputFormat || !format.equals(inputFormat) ) { inputFormat = format; Format fs[] = getSupportedOutputFormats(format); outputFormat = (AudioFormat)fs[0]; } return outputFormat != null; } }