net.sf.fmj.media
Class AbstractDemultiplexer

java.lang.Object
  extended by net.sf.fmj.media.AbstractControls
      extended by net.sf.fmj.media.AbstractPlugIn
          extended by net.sf.fmj.media.AbstractDemultiplexer
All Implemented Interfaces:
Controls, Demultiplexer, Duration, MediaHandler, PlugIn
Direct Known Subclasses:
FFMPEGParser, JavaOggParser, JavaSoundParser, MultipartMixedReplaceParser, NativeOggParser, RawPullStreamParser, RawPushBufferParser

public abstract class AbstractDemultiplexer
extends AbstractPlugIn
implements Demultiplexer

Abstract base class to implement Demultiplexer.

Author:
Ken Larson

Field Summary
 
Fields inherited from interface javax.media.PlugIn
BUFFER_PROCESSED_FAILED, BUFFER_PROCESSED_OK, INPUT_BUFFER_NOT_CONSUMED, OUTPUT_BUFFER_NOT_FILLED, PLUGIN_TERMINATED
 
Fields inherited from interface javax.media.Duration
DURATION_UNBOUNDED, DURATION_UNKNOWN
 
Constructor Summary
AbstractDemultiplexer()
           
 
Method Summary
 Time getDuration()
           
 Time getMediaTime()
           
abstract  ContentDescriptor[] getSupportedInputContentDescriptors()
           
abstract  Track[] getTracks()
           
 boolean isPositionable()
           
 boolean isRandomAccess()
           
 Time setPosition(Time where, int rounding)
           
abstract  void setSource(DataSource source)
           
 void start()
           
 void stop()
           
 
Methods inherited from class net.sf.fmj.media.AbstractPlugIn
close, getName, open, reset
 
Methods inherited from class net.sf.fmj.media.AbstractControls
addControl, getControl, getControls, removeControl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.media.PlugIn
close, getName, open, reset
 
Methods inherited from interface javax.media.Controls
getControl, getControls
 

Constructor Detail

AbstractDemultiplexer

public AbstractDemultiplexer()
Method Detail

getDuration

public Time getDuration()
Specified by:
getDuration in interface Demultiplexer
Specified by:
getDuration in interface Duration

getMediaTime

public Time getMediaTime()
Specified by:
getMediaTime in interface Demultiplexer

getSupportedInputContentDescriptors

public abstract ContentDescriptor[] getSupportedInputContentDescriptors()
Specified by:
getSupportedInputContentDescriptors in interface Demultiplexer

getTracks

public abstract Track[] getTracks()
                           throws java.io.IOException,
                                  BadHeaderException
Specified by:
getTracks in interface Demultiplexer
Throws:
java.io.IOException
BadHeaderException

isPositionable

public boolean isPositionable()
Specified by:
isPositionable in interface Demultiplexer

isRandomAccess

public boolean isRandomAccess()
Specified by:
isRandomAccess in interface Demultiplexer

setPosition

public Time setPosition(Time where,
                        int rounding)
Specified by:
setPosition in interface Demultiplexer

start

public void start()
           throws java.io.IOException
Specified by:
start in interface Demultiplexer
Throws:
java.io.IOException

stop

public void stop()
Specified by:
stop in interface Demultiplexer

setSource

public abstract void setSource(DataSource source)
                        throws java.io.IOException,
                               IncompatibleSourceException
Specified by:
setSource in interface MediaHandler
Throws:
java.io.IOException
IncompatibleSourceException