/* * @(#)StateTransistor.java 1.3 02/08/21 * * Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved. */ package com.sun.media; import javax.media.Time; /** * StateTransistor is an interface with the functionality of performing * the actual state transitions: DoPrefetch, DoRealize, etc. */ public interface StateTransistor { /** * This function performs the steps of realizing a module or a Player. * @return true if successful. */ public boolean doRealize(); /** * Called when realize fails. */ public void doFailedRealize(); /** * Called when the realize() is aborted, i.e. deallocate() was called * while realizing. Release all resources claimed previously by the * realize() call. */ public void abortRealize(); /** * This function performs the steps to prefetch a module or Player. * @return true if successful. */ public boolean doPrefetch(); /** * Called when prefetch fails. */ public void doFailedPrefetch(); /** * Called when the prefetch() is aborted, i.e. deallocate() was called * while prefetching. Release all resources claimed previously by the * prefetch call. */ public void abortPrefetch(); /** * This function performs the steps to start a module or Player. */ public void doStart(); /** * This function performs the steps to stop a module or Player, * and return to the prefetched state. */ public void doStop(); /** * This function performs the steps to deallocate a module or Player, * and return to the realized state. */ public void doDealloc(); /** * This function performs the steps to close a module or Player. */ public void doClose(); /** * This function notifies the module that the media time has changed. */ public void doSetMediaTime(Time t); /** * This function notifies the module that the playback rate has changed. */ public float doSetRate(float r); }