Click or drag to resize
CompositionOffsetBox Class
This box provides the offset between decoding time and composition time.
Inheritance Hierarchy
SystemObject
  StreamCoders.Container.MP4Box
    StreamCoders.Container.MP4FullBox
      StreamCoders.Container.MP4CompositionOffsetBox

Namespace: StreamCoders.Container.MP4
Assembly: MediaBase (in MediaBase.dll) Version: 2.0.5.0 (2.0.5.0)
Syntax
public class CompositionOffsetBox : FullBox

The CompositionOffsetBox type exposes the following members.

Constructors
  NameDescription
Public methodCompositionOffsetBox(Byte)
Initializes a new instance of the CompositionOffsetBox class
Public methodCompositionOffsetBox(Box)
Initializes a new instance of the CompositionOffsetBox class
Top
Properties
  NameDescription
Public propertyBoxSize
Gets the content + header size of a single box (without children) in bytes.
(Inherited from Box.)
Public propertyContentSize (Overrides BoxContentSize.)
Public propertyFullTreeSize
Gets the boxes size including all children and header sizes (in bytes).
(Inherited from Box.)
Public propertyHeaderSize (Inherited from FullBox.)
Top
Methods
  NameDescription
Public methodAddChild
Adds a child.
(Inherited from Box.)
Public methodDebugWriteToFile (Inherited from Box.)
Public methodFindChild(BoxType)
Finds a child of this item.
(Inherited from Box.)
Public methodFindChild(BoxType)
Finds a child of this item.
(Inherited from Box.)
Public methodFindChildT
Finds the first occurance of a child immediate to the current box.
(Inherited from Box.)
Public methodFindChildFullT
Finds child of type T in full tree.
(Inherited from Box.)
Public methodFindChildFullSubClassedT
Finds first child subclassed from type T in full tree.
(Inherited from Box.)
Public methodFindChildrenT
Finds multiple Children of the same type immediate to the current box.
(Inherited from Box.)
Public methodFindChildrenFullSubClassedT
Finds object derived subclassed from T in full tree.
(Inherited from Box.)
Public methodFindParentT
Traverses up until root node until an immediate parent is found.
(Inherited from Box.)
Public methodFindParentOrChildT
Traverses Parent and immediate children up to root node for a specific box type.
(Inherited from Box.)
Public methodGetCompositionOffset
Public methodParse
Parses this object.
(Inherited from Box.)
Public methodReadDebugData
Reads the debug data.
(Inherited from Box.)
Public methodSetDirty
Marks box and its children as dirty. Initially all boxes are dirty.
(Inherited from Box.)
Public methodSkip
Skips the remaining bytes of the box by reading them.
(Inherited from Box.)
Public methodUpdate
Updates the box and it's children. The box must be set dirty.
(Inherited from Box.)
Public methodVerifyDebugData
Verify debug data.
(Inherited from Box.)
Public methodVerifyDebugData(String)
Verify debug data.
(Inherited from Box.)
Public methodWriteInto
Writes the box and its children to a destination stream.
(Inherited from Box.)
Top
Events
  NameDescription
Public eventOnBeforeWrite
Event to be raised before a Box is written to an output stream using Box.WriteInto
(Inherited from Box.)
Top
Fields
  NameDescription
Public fieldBoxType
Contains the type of the box.
(Inherited from Box.)
Public fieldBoxValueType
The value representation of the box type.
(Inherited from Box.)
Public fieldCompositionOffsetEntries
Public fieldFlags (Inherited from FullBox.)
Public fieldSizeExcludingHeader
The size of the box without header.
(Inherited from Box.)
Public fieldSizeIncludingHeader
The size of the current box including header.
(Inherited from Box.)
Public fieldUserType
Custom Box type (uuid).
(Inherited from Box.)
Public fieldVersion (Inherited from FullBox.)
Top
Extension Methods
  NameDescription
Public Extension MethodCopyOverloaded.
Creates a copy of the object.
(Defined by ObjectExtensions.)
Public Extension MethodCopy(Object)Overloaded.
Creates a deep copy of the object using the supplied object as a target for the copy operation.
(Defined by ObjectExtensions.)
Top
Remarks
In version 0 of this box the decoding time must be less than the composition time, and the offsets are expressed as unsigned numbers such that CT(n) = DT(n) + CTTS(n) where CTTS(n) is the (uncompressed) table entry for sample n. In version 1 of this box, the composition timeline and the decoding timeline are still derived from each other, but the offsets are signed. It is recommended that for the computed composition timestamps, there is exactly one with the value 0 (zero). For either version of the box, each sample must have a unique composition timestamp value, that is, the timestamp for two samples shall never be the same. It may be true that there is no frame to compose at time 0; the handling of this is unspecified (systems might display the first frame for longer, or a suitable fill colour). When version 1 of this box is used, the CompositionToDecodeBox may also be present in the sample table to relate the composition and decoding timelines. When backwards-compatibility or compatibility with an unknown set of readers is desired,, version 0 of this box should be used when possible. In either version of this box, but particularly under version 0, if it is desired that the media start at track time 0, and the first media sample does not have a composition time of 0, an edit list may be used to ‘shift’ the media to time 0. The composition time to sample table is optional and must only be present if DT and CT differ for any samples.
See Also