Interface Summary
CachingControl CachingControl is an interface supported by Players that are capable of reporting download progress.
Clock The Clock interface is implemented by objects that support the Java Media time model.
Codec A codec is a timed-media processing unit with one input and one output.
Typical codecs are audio decoders, video encoders or effects.
Control The base interface for processing Control objects.
Controller The Controller interface, which extends Clock, provides resource-allocation state information, event generation, and a mechanism for obtaining objects that provide additional control over a Controller.
ControllerListener ControllerListener is an interface for handling asynchronous events generated by Controllers.
Controls Controls provides an interface for obtaining objects by interface or class name.
DataSink DataSink is the base interface for objects that read media content delivered from a DataSource, and render the media to some destination.
DataSinkProxy A datasink proxy is a MediaProxy and is part of the factory mechanism to create a DataSink.
Demultiplexer A Demultiplexer is a MediaHandler and so it should implement the setSource method.
Duration The Duration interface provides a way to determine the duration of the media being played by a media object.
Effect An Effect plugin takes an input buffer of data and applies some special effects processing on the data and output the data to an output buffer.
GainChangeListener GainChangeListener is an interface for handling GainChangeEvents generated by GainControls.
GainControl GainControl is an interface for manipulating audio signal gain.
MediaHandler MediaHandler is the base interface for objects that read and manage media content delivered from a DataSource.
Multiplexer The base Multiplexer interface.
Player Player is a MediaHandler for rendering and controlling time based media data.
PlugIn A base interface for all plug-in classes.
Prefetchable This interface would be implemented on a Renderer or Multiplexer plugin if it has some internal buffers that require prefetching to minimize startup latency.
Processor The Processor interface is a module for processing and controlling time based media data.
Renderer A base Renderer interface.
TimeBase A TimeBase is a constantly ticking source of time, much like a crystal. Unlike a Clock, a TimeBase cannot be temporally transformed, reset, or stopped.
Track Tracks are the output streams from a Demultiplexer.

Class Summary
AudioDeviceUnavailableEvent An AudioDeviceUnavailableEvent indicates that the Controller could not fetch the audio device.
Buffer This is a media container that carries media data between the different processing stages inside a Player/Processor as well as between a buffer stream and its handler.
CachingControlEvent This event is generated by a Controller that supports the CachingControl interface.
CaptureDeviceInfo This class contains information about a capture device.
CaptureDeviceManager This is a manager class that fetches a list of devices available on the system.
ConfigureCompleteEvent A ConfigureCompleteEvent is posted when a Processor finishes Configuring.
ConnectionErrorEvent A ConnectionErrorEvent is posted when an error occurs within a DataSource when obtaining data or communicating with a server.
ControllerAdapter The event adapter which recieves ControllerEvents and dispatches them to an appropriate stub-method.
ControllerClosedEvent A ControllerClosedEvent describes an event that is generated when an a Controller is closed.
ControllerErrorEvent A ControllerErrorEvent describes an event that is generated when an error condition occurs that will cause a Controller to cease functioning.
ControllerEvent ControllerEvent is the base class for events generated by a Controller.
DataLostErrorEvent A DataLostErrorEvent is posted when a Controller has lost data.
DataStarvedEvent DataStarvedEvent indicates that a Controller has lost data or has stopped receiving data altogether.
DeallocateEvent A DeallocateEvent is posted as an acknowledgement of the invocation of the deallocate method.
DurationUpdateEvent DurationUpdateEvent is posted by a Controller when its duration changes.
EndOfMediaEvent An EndOfMediaEvent indicates that the Controller has reached the end of its media and is stopping.
Format The Format class abstracts the exact media format in the Java Media framework.
GainChangeEvent A GainChangeEvent is posted by a GainControl when its state has been updated.
InternalErrorEvent An InternalErrorEvent indicates that a Controller failed for implementation-specific reasons.
Manager Manager is the access point for obtaining system dependent resources such as Players, DataSources, Processors, DataSinks, the system TimeBase, the cloneable and merging utility DataSources.
MediaEvent MediaEvent is the base interface for media events.
MediaLocator MediaLocator describes the location of media content.
MediaTimeSetEvent A MediaTimeSetEvent is posted by a Controller when its media-time has been set with the setMediaTime method.
PackageManager A PackageManager maintains a persistent store of package-prefix lists.
PlugInManager This is a PlugIn manager used to search for installed plug-ins and to register new plug-ins.
PrefetchCompleteEvent A PrefetchCompleteEvent is posted when a Controller finishes Prefetching.
ProcessorModel Encapsulates the minimal information required to create a Processor. Extend this class to provide more control over what the output format of each track should be and let the Manager.createRealizedProcessor() method do the rest of the work of creating and realizing a suitable Processor.
RateChangeEvent A RateChangeEvent is a ControllerEvent that is posted when a Controller's rate changes.
RealizeCompleteEvent A RealizeCompleteEvent is posted when a Controller finishes Realizing.
ResourceUnavailableEvent A ResourceUnavailableEvent indicates that a Controller was unable to allocate a resource that it requires for operation.
RestartingEvent A RestartingEvent indicates that a Controller has moved from the Started state back to the Prefetching state (a Stopped state) and intends to return to the Started state when Prefetching is complete.
SizeChangeEvent Event which indicates that the input video has changed in size and the video renderer needs to be resized to specified size.
StartEvent StartEvent is a TransitionEvent that indicates that a Controller has entered the Started state.
StopAtTimeEvent A StopAtTimeEvent indicates that the Controller has stopped because it reached its stop time.
StopByRequestEvent A StopByRequestEvent indicates that the Controller has stopped in response to a stop call.
StopEvent StopEvent is a ControllerEvent that indicates that a Controller has stopped.
StopTimeChangeEvent A StopTimeChangeEvent is generated by a Controller when its stop time has changed.
SystemTimeBase SystemTimeBase is the implementation of the default TimeBase that ships with JMF.
Time Time is kept at nanosecond precision.
TransitionEvent TransitionEvent is a ControllerEvent that indicates that a Controller has changed state.

Exception Summary
BadHeaderException A BadHeaderException is thrown by a Demultiplexer when getTracks is invoked and the header information is incomplete or inconsistent.
CannotRealizeException A CannotRealizeException is thrown when Manager cannot realize a Player or Processor via the createRealizedPlayer and createRealizedProcessor calls.
ClockStoppedException A ClockStoppedException is thrown when a method that expects the Clock to be Started is called on a Stopped Clock.
IncompatibleSourceException An IncompatibleSourceException is thrown by a MediaHandler when setSource is invoked and the MediaHandler cannot support the DataSource.
IncompatibleTimeBaseException An IncompatibleTimeBaseException is generated when Clock.setTimeBase is invoked using a TimeBase that the Clock cannot support.
MediaException A MediaException indicates an unexpected error condition in a JMF method.
NoDataSinkException A NoDataSinkException is thrown when Manager can't find a DataSink for a particular MediaLocator and DataSource.
NoDataSourceException A NoDataSourceException is thrown when a DataSource can't be found for a particular URL or MediaLocator.
NoPlayerException A NoPlayerException is thrown when a Manager can't find a Player for a particular URL or MediaLocator.
NoProcessorException A NoProcessorException is thrown when Manager can't find a Processor for a particular URL, MediaLocator or ProcessorModel.
ResourceUnavailableException ResourceUnavailableException is thrown if a class couldn't could allocate the required resources for an operation.
UnsupportedPlugInException An UnsupportedPlugInException is thrown by a TrackControl if a PlugIn cannot be set on the Processor.

Error Summary
ClockStartedError ClockStartedError is thrown by a Started Clock when a method is invoked that is not legal on a Clock in the Started state.
MediaError A MediaError indicates an error condition that occurred through incorrect usage of the API.
NotConfiguredError A NotConfiguredError is thrown when a method that requires a Processor to be in the Configured state is called and the Processor has not yet been Configured.
NotPrefetchedError NotPrefetchedError is thrown when a method that requires a Controller to be in the Prefetched state is called and the Controller has not been Prefetched.
NotRealizedError NotRealizedError is thrown when a method that requires a Controller to be in the Realized state is called and the Controller is not Realized.
StopTimeSetError StopTimeSetError is thrown when the stop time has been set on a Started Clock and setStopTime is invoked again.