Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2012-04-26 Werner Randelshofer
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.monte.media.quicktime
Class AbstractQuickTimeStream.Track

    java.lang.Object
      org.monte.media.quicktime.AbstractQuickTimeStream.Track

Direct Known Subclasses:
  AbstractQuickTimeStream.AudioTrack, AbstractQuickTimeStream.VideoTrack

Enclosing class:
  AbstractQuickTimeStream

    protected abstract class AbstractQuickTimeStream.Track

extends java.lang.Object

Represents a track.

Field Summary
`protected java.util.ArrayList<AbstractQuickTimeStream.Chunk>` | `chunks` List of chunks.
`protected Codec` | `codec` The codec.
`protected AbstractQuickTimeStream.Edit[]` | `editList` The edit list of the track.
`protected Format` | `format` The format of the media in the track.
`protected double` | `height`
`protected Buffer` | `inputBuffer`
`protected Rational` | `inputTime` Start time of the first buffer that was added to the track.
`protected double[]` | `matrix` The transformation matrix of the track.
`protected java.lang.String` | `mediaCompressionType` The compression type of the media.
`protected java.lang.String` | `mediaCompressorName` The compressor name.
`protected long` | `mediaDuration` The duration of the media in this track in media time units.
`protected long` | `mediaTimeScale` The timeScale of the media in the track.
`protected FormatKeys.MediaType` | `mediaType` The media type of the track.
`protected Buffer` | `outputBuffer`
`protected long` | `sampleCount` The number of samples in this track.
`protected java.util.ArrayList<AbstractQuickTimeStream.SampleSizeGroup>` | `sampleSizes` List of SampleSize entries.
`protected int` | `syncInterval` Interval between sync samples (keyframes).
`protected java.util.ArrayList<java.lang.Long>` | `syncSamples` List of sync samples.
`protected java.util.ArrayList<AbstractQuickTimeStream.TimeToSampleGroup>` | `timeToSamples` List of TimeToSample entries.
`protected double` | `width`
`protected Rational` | `writeTime` Current write time.

Constructor Summary
`AbstractQuickTimeStream.Track(FormatKeys.MediaType mediaType)`

Method Summary
`void` | `addChunk(AbstractQuickTimeStream.Chunk chunk, boolean isSyncSample)`
`void` | `addSample(AbstractQuickTimeStream.Sample sample, int sampleDescriptionId, boolean isSyncSample)`
`long` | `getSampleCount()`
`long` | `getTrackDuration(long movieTimeScale)` Gets the track duration in the movie time scale.
`boolean` | `isEmpty()`
`protected void` | `writeMediaInformationAtoms(AbstractQuickTimeStream.CompositeAtom mdiaAtom)`
`protected abstract void` | `writeMediaInformationHeaderAtom(AbstractQuickTimeStream.CompositeAtom minfAtom)`
`protected abstract void` | `writeSampleDescriptionAtom(AbstractQuickTimeStream.CompositeAtom stblAtom)`
`protected void` | `writeSampleTableAtoms(AbstractQuickTimeStream.CompositeAtom minfAtom)`
`protected void` | `writeTrackAtoms(int trackIndex, AbstractQuickTimeStream.CompositeAtom moovAtom, java.util.Date modificationTime)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### mediaType

    protected final FormatKeys.MediaType mediaType

  The media type of the track.

### format

    protected Format format

  The format of the media in the track.

### mediaTimeScale

    protected long mediaTimeScale

  The timeScale of the media in the track. A time value that indicates the time scale for this media. That is, the number of time units that pass per second in its time coordinate system.

### mediaCompressionType

    protected java.lang.String mediaCompressionType

  The compression type of the media.

### mediaCompressorName

    protected java.lang.String mediaCompressorName

  The compressor name.

### chunks

    protected java.util.ArrayList<AbstractQuickTimeStream.Chunk> chunks

  List of chunks.

### timeToSamples

    protected java.util.ArrayList<AbstractQuickTimeStream.TimeToSampleGroup> timeToSamples

  List of TimeToSample entries.

### sampleSizes

    protected java.util.ArrayList<AbstractQuickTimeStream.SampleSizeGroup> sampleSizes

  List of SampleSize entries.

### syncSamples

    protected java.util.ArrayList<java.lang.Long> syncSamples

  List of sync samples. This list is null as long as all samples in this track are sync samples.

### sampleCount

    protected long sampleCount

  The number of samples in this track.

### mediaDuration

    protected long mediaDuration

  The duration of the media in this track in media time units.

### editList

    protected AbstractQuickTimeStream.Edit[] editList

  The edit list of the track.

### syncInterval

    protected int syncInterval

  Interval between sync samples (keyframes). 0 = automatic. 1 = write all samples as sync samples. n = sync every n-th sample.

### codec

    protected Codec codec

  The codec.

### outputBuffer

    protected Buffer outputBuffer

### inputBuffer

    protected Buffer inputBuffer

### inputTime

    protected Rational inputTime

  Start time of the first buffer that was added to the track.

### writeTime

    protected Rational writeTime

  Current write time.

### matrix

    protected double[] matrix

  The transformation matrix of the track.

### width

    protected double width

### height

    protected double height

Constructor Detail

### AbstractQuickTimeStream.Track

    public AbstractQuickTimeStream.Track(FormatKeys.MediaType mediaType)

Method Detail

### addSample

    public void addSample(AbstractQuickTimeStream.Sample sample,
                          int sampleDescriptionId,
                          boolean isSyncSample)

### addChunk

    public void addChunk(AbstractQuickTimeStream.Chunk chunk,
                         boolean isSyncSample)

### isEmpty

    public boolean isEmpty()

### getSampleCount

    public long getSampleCount()

### getTrackDuration

    public long getTrackDuration(long movieTimeScale)

  Gets the track duration in the movie time scale.

  Parameters:
    `movieTimeScale` - The time scale of the movie.

### writeTrackAtoms

    protected void writeTrackAtoms(int trackIndex,
                                   AbstractQuickTimeStream.CompositeAtom moovAtom,
                                   java.util.Date modificationTime)
                            throws java.io.IOException

  Throws:
    `java.io.IOException`

### writeMediaInformationAtoms

    protected void writeMediaInformationAtoms(AbstractQuickTimeStream.CompositeAtom mdiaAtom)
                                       throws java.io.IOException

  Throws:
    `java.io.IOException`

### writeMediaInformationHeaderAtom

    protected abstract void writeMediaInformationHeaderAtom(AbstractQuickTimeStream.CompositeAtom minfAtom)
                                                     throws java.io.IOException

  Throws:
    `java.io.IOException`

### writeSampleDescriptionAtom

    protected abstract void writeSampleDescriptionAtom(AbstractQuickTimeStream.CompositeAtom stblAtom)
                                                throws java.io.IOException

  Throws:
    `java.io.IOException`

### writeSampleTableAtoms

    protected void writeSampleTableAtoms(AbstractQuickTimeStream.CompositeAtom minfAtom)
                                  throws java.io.IOException

  Throws:
    `java.io.IOException`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright 2012-04-26 Werner Randelshofer
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD