/* * @(#)BitRateControl.java 1.5 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package javax.media.control; /** * This interface is a Control for specifying the parameters for bit rate. * The bit rates are specified in bits per second. This Control can be used * to export the bit rate information for an incoming stream or to control * the encoding bit rate of a compressor. * @since JMF 2.0 */ public interface BitRateControl extends javax.media.Control { /** * Returns the current bit rate of the owning object. If the stream * is of variable bit rate, then the value returned is an * instantaneous or average bit rate over a period of time. * The bit rates are specified in bits per second. * @return the bit rate */ int getBitRate(); /** * Sets the bit rate of the owning object. This is mostly relevant * in the case of encoders. If the bit rate cannot be controlled, then * the return value is -1. * The bit rates are specified in bits per second. * @return the bit rate that was actually set on the object, or -1 * if the bit rate is not controllable. */ int setBitRate(int bitrate); /** * Returns the lowest bit rate that this object can encode the * data stream to. * The bit rates are specified in bits per second. * @return the lowest supported bit rate */ int getMinSupportedBitRate(); /** * Returns the highest bit rate that this object can encode the * data stream to. * The bit rates are specified in bits per second. * @return the maximal supported bit rate */ int getMaxSupportedBitRate(); }