net.sf.fmj.filtergraph
Class FilterGraphNode

java.lang.Object
  extended by net.sf.fmj.filtergraph.FilterGraphNode
Direct Known Subclasses:
CodecNode, DemuxNode, MuxNode, RendererNode

public abstract class FilterGraphNode
extends java.lang.Object

Base class for all filter graph nodes.

Author:
Ken Larson

Field Summary
protected static java.util.logging.Logger logger
           
 
Constructor Summary
FilterGraphNode(PlugIn plugIn)
           
 
Method Summary
 void addDestLink(FilterGraphLink n)
           
abstract  FilterGraphNode duplicate()
           
 FilterGraphLink getDestLink(int i)
           
abstract  Format getInputFormat()
           
 int getNumDestLinks()
           
 Buffer getOutputBuffer(int i)
           
 PlugIn getPlugIn()
           
abstract  void open()
           
 void print(java.util.logging.Logger logger, java.lang.String prefix)
           
abstract  int process(Buffer input, int sourceTrackNumber, int destTrackNumber, int flags)
          sourceTrackNumber only used for demux, and destTrackNumber only used for mux.
protected  FilterGraphNode propagateDuplicate(FilterGraphNode result)
          Intended to be called by subclass implementations of duplicate, to duplicate the destinations.
 void setOutputBuffer(int i, Buffer b)
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static final java.util.logging.Logger logger
Constructor Detail

FilterGraphNode

public FilterGraphNode(PlugIn plugIn)
Method Detail

getNumDestLinks

public int getNumDestLinks()

getDestLink

public FilterGraphLink getDestLink(int i)

getOutputBuffer

public Buffer getOutputBuffer(int i)

setOutputBuffer

public void setOutputBuffer(int i,
                            Buffer b)

addDestLink

public void addDestLink(FilterGraphLink n)

duplicate

public abstract FilterGraphNode duplicate()

open

public abstract void open()
                   throws ResourceUnavailableException
Throws:
ResourceUnavailableException

process

public abstract int process(Buffer input,
                            int sourceTrackNumber,
                            int destTrackNumber,
                            int flags)
sourceTrackNumber only used for demux, and destTrackNumber only used for mux.


propagateDuplicate

protected FilterGraphNode propagateDuplicate(FilterGraphNode result)
Intended to be called by subclass implementations of duplicate, to duplicate the destinations.

Parameters:
result - FilterGraphNode that is to be returned by duplicate();

print

public void print(java.util.logging.Logger logger,
                  java.lang.String prefix)

getInputFormat

public abstract Format getInputFormat()

getPlugIn

public PlugIn getPlugIn()

start

public void start()
           throws java.io.IOException
Throws:
java.io.IOException

stop

public void stop()