/*
* @(#)FormatControl.java 1.4 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package javax.media.control;
import javax.media.Format;
/**
* The <code>FormatControl</code> interfaces is implemented by objects which
* supports format setting.
* @since JMF 2.0
*/
public interface FormatControl extends javax.media.Control {
/**
* Obtain the format that this object is set to.
* @return the current format.
*/
public Format getFormat();
/**
* Sets the data format.
* The method returns null if the format is not supported.
* Otherwise, it returns the format that's actually set.
* <p>
* However in some situations, returning a non-null
* format does not necessarily mean that the format is supported
* since determining the supported formats may be state dependent
* or simply too costly. In such cases, the setFormat call will
* succeed but the object may fail in another state-transition
* operation such as when the object is being initialized.
* <p>
* Alternatively, the getSupportedFormats method can be used to
* query for the list of supported formats. The resulting list
* can be used to screen for the valid formats before setting
* that on the object.
*
* @return null if the format is not supported; otherwise return
* the format that's actually set.
*/
public Format setFormat(Format format);
/**
* Lists the possible input formats supported by this plug-in.
* @return an array of the supported formats
*/
public Format [] getSupportedFormats();
/**
* Return the state of the track.
* @return A boolean telling whether or not the track is enabled.
*/
public boolean isEnabled();
/**
* Enable or disable the track.
* @param enabled true if the track is to be enabled.
*/
public void setEnabled(boolean enabled);
}
|