Copyright 2012-04-26 Werner Randelshofer

org.monte.media.anim
Class ANIMWriter

java.lang.Object
  extended by org.monte.media.anim.ANIMOutputStream
      extended by org.monte.media.anim.ANIMMultiplexer
          extended by org.monte.media.anim.ANIMWriter
All Implemented Interfaces:
MovieWriter, Multiplexer

public class ANIMWriter
extends ANIMMultiplexer
implements MovieWriter

ANIMWriter.

Version:
$Id: ANIMWriter.java 134 2011-12-02 16:23:00Z werner $
Author:
Werner Randelshofer

Field Summary
static Format ANIM
           
 
Fields inherited from class org.monte.media.anim.ANIMOutputStream
A2024_MONITOR_ID, absTime, DBLNTSC_MONITOR_ID, DBLPAL_MONITOR_ID, DEFAULT_MONITOR_ID, EHB_MODE, EURO36_MONITOR_ID, EURO72_MONITOR_ID, frameCount, HAM_MODE, MODE_MASK, MONITOR_ID_MASK, MULTISCAN_MONITOR_ID, NTSC_MONITOR_ID, PAL_MONITOR_ID, PROTO_MONITOR_ID, SUPER72_MONITOR_ID
 
Constructor Summary
ANIMWriter(java.io.File file)
           
 
Method Summary
 int addTrack(Format format)
          Adds a track to the writer for a suggested input format.
 Rational getDuration(int track)
          Returns the duration of the track in seconds.
 Format getFileFormat()
          Returns the file format.
 Format getFormat(int track)
          Returns the media format of the specified track.
 int getTrackCount()
          Returns the number of tracks.
 boolean isDataLimitReached()
          Returns true if the limit for media data has been reached.
 boolean isVFRSupported()
           
 
Methods inherited from class org.monte.media.anim.ANIMMultiplexer
write
 
Methods inherited from class org.monte.media.anim.ANIMOutputStream
close, finish, getCAMG, getJiffies, getMovieTime, setCAMG, setJiffies, writeFrame
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.monte.media.MovieWriter
close, write
 

Field Detail

ANIM

public static final Format ANIM
Constructor Detail

ANIMWriter

public ANIMWriter(java.io.File file)
           throws java.io.IOException
Throws:
java.io.IOException
Method Detail

getFileFormat

public Format getFileFormat()
                     throws java.io.IOException
Description copied from interface: MovieWriter
Returns the file format.

Specified by:
getFileFormat in interface MovieWriter
Throws:
java.io.IOException

getDuration

public Rational getDuration(int track)
Description copied from interface: MovieWriter
Returns the duration of the track in seconds.

Specified by:
getDuration in interface MovieWriter

addTrack

public int addTrack(Format format)
             throws java.io.IOException
Description copied from interface: MovieWriter
Adds a track to the writer for a suggested input format.

The format should at least specify the desired FormatKeys.MediaType. The actual input format is a refined version of the suggested format. For example, if a MovieWriter only supports fixed frame rate video, then the MovieWriter will extend the format with that information.

If the suggested input format is not compatible, then an IOException is thrown. For example, if a MovieWriter only supports fixed frame rate video, but a format with variable frame rate was requested.

Specified by:
addTrack in interface MovieWriter
Parameters:
format - The desired input format of the track. The actual input format may be a refined version of the specified format.
Returns:
The track number.
Throws:
java.io.IOException

getFormat

public Format getFormat(int track)
Description copied from interface: MovieWriter
Returns the media format of the specified track. This is a refined version of the format that was requested when the track was added. See MovieWriter.addTrack(org.monte.media.Format).

Specified by:
getFormat in interface MovieWriter
Parameters:
track - Track number.
Returns:
The media format of the track.

getTrackCount

public int getTrackCount()
Description copied from interface: MovieWriter
Returns the number of tracks.

Specified by:
getTrackCount in interface MovieWriter

isVFRSupported

public boolean isVFRSupported()

isDataLimitReached

public boolean isDataLimitReached()
Description copied from interface: MovieWriter
Returns true if the limit for media data has been reached. If this limit is reached, no more samples should be added to the movie.

This limit is imposed by data structures of the movie file which will overflow if more samples are added to the movie.

FIXME - Maybe replace by getCapacity():long.

Specified by:
isDataLimitReached in interface MovieWriter

Copyright 2012-04-26 Werner Randelshofer