/*
* @(#)GraphInspector.java 1.3 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package com.sun.media;
import javax.media.*;
/**
* This interface defines the notification callbacks from the media engine
* during the data flow graph building process.
* The return value from some of the methods can intervene and affect the
* graph building process.
*/
public interface GraphInspector {
/**
* If this method returns true, the media engine will notify the
* inspector more frequently with more details.
*/
public boolean detailMode();
/**
* This method is notified when the engine has selected the
* given codec and has successfully attempted to set the given
* input and output formats on it.
* If this method returns false, the engine will reject the given
* codec for use in the final flow graph.
* @param codec the selected codec.
* @param input the selected input format to the codec.
* @param output the selected output format to the codec.
* @return false will cause the engine to reject the given codec
* for use in the final flow graph.
*/
public boolean verify(Codec codec, Format input, Format output);
/**
* This method is notified when the engine has selected the
* given renderer and has successfully attempted to set the given
* input format on it.
* If this method returns false, the engine will reject the given
* renderer for use in the final flow graph.
* @param renderer the selected renderer.
* @param input the selected input format to the renderer.
* @return false will cause the engine to reject the given renderer
* for use in the final flow graph.
*/
public boolean verify(Renderer renderer, Format input);
/**
* This method is notified when the engine has selected the
* given multiplexer and has successfully attempted to set the given
* input formats on it.
* If this method returns false, the engine will reject the given
* multiplexer for use in the final flow graph.
* @param multiplexer the selected multiplexer.
* @param inputs the selected input formats to the multiplexer.
* @return false will cause the engine to reject the given multiplexer
* for use in the final flow graph.
*/
public boolean verify(Multiplexer mux, Format inputs[]);
/**
* This method is notified if the engine has attempted and failed
* to set the given input format on the given plugin.
* @param plugin the selected plugin.
* @param input the selected input format.
*/
public void verifyInputFailed(PlugIn plugin, Format input);
/**
* This method is notified if the engine has attempted and failed
* to set the given output format on the given plugin.
* @param plugin the selected plugin.
* @param output the selected output format.
*/
public void verifyOutputFailed(PlugIn plugin, Format output);
}
|