/* * @(#)RateConfigureable.java 1.2 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package javax.media.protocol; /** * <code>DataSources</code> support the * <CODE>RateConfigureable</CODE> interface if they use * different rate-configurations to support multiple * media display speeds. * * @see DataSource * @see RateConfiguration * @see RateRange * @version 1.2, 02/08/21. */ public interface RateConfigureable { /** * Get the rate configurations that this object supports. * There must always be one and only one for * a <CODE>RateConfiguration</CODE> that covers a rate of 1.0. * * @return The collection of <CODE>RateConfigurations</CODE> that this * source supports. */ public RateConfiguration[] getRateConfigurations(); /** * Set a new <CODE>RateConfiguration</CODE>. * The new configuration should have been obtained by calling * <CODE>getRateConfigurations</CODE>. * Returns the actual <CODE>RateConfiguration</CODE> used. * * @param config The <CODE>RateConfiguration</CODE> to use. * @return The actual <CODE>RateConfiguration</CODE> used by the source. */ public RateConfiguration setRateConfiguration(RateConfiguration config); }