AP4_Atom Class Reference

Abstract base class for all atom types. More...

#include <Ap4Atom.h>

Inheritance diagram for AP4_Atom:

AP4_AvccAtom AP4_Co64Atom AP4_ContainerAtom AP4_CttsAtom AP4_DataAtom AP4_EsdsAtom AP4_FrmaAtom AP4_FtypAtom AP4_HdlrAtom AP4_HmhdAtom AP4_IkmsAtom AP4_IsfmAtom AP4_IsltAtom AP4_MdhdAtom AP4_MvhdAtom AP4_NmhdAtom AP4_OdafAtom AP4_OddaAtom AP4_RtpAtom AP4_SchmAtom AP4_SdpAtom AP4_SmhdAtom AP4_StcoAtom AP4_StringAtom AP4_StscAtom AP4_StssAtom AP4_StszAtom AP4_SttsAtom AP4_TimsAtom AP4_TkhdAtom AP4_TrefTypeAtom AP4_UnknownAtom AP4_UrlAtom AP4_VmhdAtom List of all members.

Public Types

typedef AP4_UI32 Type

Public Member Functions

 AP4_Atom (Type type, AP4_UI32 size=AP4_ATOM_HEADER_SIZE)
 Create a simple atom with a specified type and 32-bit size.
 AP4_Atom (Type type, AP4_UI64 size)
 Create a simple atom with a specified type and 64-bit size.
 AP4_Atom (Type type, AP4_UI32 size, AP4_UI32 version, AP4_UI32 flags)
 Create a full atom with a specified type, 32-bit size, version and flags.
 AP4_Atom (Type type, AP4_UI64 size, AP4_UI32 version, AP4_UI32 flags)
 Create a full atom with a specified type, 64-bit size, version and flags.
virtual ~AP4_Atom ()
Type GetType () const
void SetType (Type type)
AP4_Size GetHeaderSize () const
AP4_UI64 GetSize () const
void SetSize (AP4_UI64 size, bool force_64=false)
AP4_UI32 GetSize32 () const
void SetSize32 (AP4_UI32 size)
AP4_UI64 GetSize64 () const
void SetSize64 (AP4_UI64 size)
virtual AP4_Result Write (AP4_ByteStream &stream)
virtual AP4_Result WriteHeader (AP4_ByteStream &stream)
virtual AP4_Result WriteFields (AP4_ByteStream &stream)=0
virtual AP4_Result Inspect (AP4_AtomInspector &inspector)
virtual AP4_Result InspectHeader (AP4_AtomInspector &inspector)
virtual AP4_Result InspectFields (AP4_AtomInspector &)
virtual AP4_Result SetParent (AP4_AtomParent *parent)
virtual AP4_AtomParentGetParent ()
virtual AP4_Result Detach ()
virtual AP4_AtomClone ()
 Create a clone of the object.

Static Public Member Functions

static AP4_Result ReadFullHeader (AP4_ByteStream &stream, AP4_UI32 &version, AP4_UI32 &flags)

Protected Attributes

Type m_Type
AP4_UI32 m_Size32
AP4_UI64 m_Size64
bool m_IsFull
AP4_UI32 m_Version
AP4_UI32 m_Flags
AP4_AtomParentm_Parent

Detailed Description

Abstract base class for all atom types.

Definition at line 114 of file Ap4Atom.h.


Member Typedef Documentation

typedef AP4_UI32 AP4_Atom::Type

Definition at line 117 of file Ap4Atom.h.


Constructor & Destructor Documentation

AP4_Atom::AP4_Atom ( Type  type,
AP4_UI32  size = AP4_ATOM_HEADER_SIZE 
)

Create a simple atom with a specified type and 32-bit size.

AP4_Atom::AP4_Atom ( Type  type,
AP4_UI64  size 
)

Create a simple atom with a specified type and 64-bit size.

AP4_Atom::AP4_Atom ( Type  type,
AP4_UI32  size,
AP4_UI32  version,
AP4_UI32  flags 
)

Create a full atom with a specified type, 32-bit size, version and flags.

AP4_Atom::AP4_Atom ( Type  type,
AP4_UI64  size,
AP4_UI32  version,
AP4_UI32  flags 
)

Create a full atom with a specified type, 64-bit size, version and flags.

virtual AP4_Atom::~AP4_Atom (  )  [inline, virtual]

Definition at line 152 of file Ap4Atom.h.


Member Function Documentation

static AP4_Result AP4_Atom::ReadFullHeader ( AP4_ByteStream stream,
AP4_UI32 version,
AP4_UI32 flags 
) [static]

Type AP4_Atom::GetType (  )  const [inline]

Definition at line 155 of file Ap4Atom.h.

References m_Type.

Referenced by AP4_AtomFinder::Test().

void AP4_Atom::SetType ( Type  type  )  [inline]

Definition at line 156 of file Ap4Atom.h.

References m_Type.

AP4_Size AP4_Atom::GetHeaderSize (  )  const

AP4_UI64 AP4_Atom::GetSize (  )  const [inline]

Definition at line 158 of file Ap4Atom.h.

References m_Size32, and m_Size64.

void AP4_Atom::SetSize ( AP4_UI64  size,
bool  force_64 = false 
)

AP4_UI32 AP4_Atom::GetSize32 (  )  const [inline]

Definition at line 160 of file Ap4Atom.h.

References m_Size32.

void AP4_Atom::SetSize32 ( AP4_UI32  size  )  [inline]

Definition at line 161 of file Ap4Atom.h.

References m_Size32.

AP4_UI64 AP4_Atom::GetSize64 (  )  const [inline]

Definition at line 162 of file Ap4Atom.h.

References m_Size64.

void AP4_Atom::SetSize64 ( AP4_UI64  size  )  [inline]

Definition at line 163 of file Ap4Atom.h.

References m_Size64.

virtual AP4_Result AP4_Atom::Write ( AP4_ByteStream stream  )  [virtual]

Reimplemented in AP4_SampleEntry.

virtual AP4_Result AP4_Atom::WriteHeader ( AP4_ByteStream stream  )  [virtual]

virtual AP4_Result AP4_Atom::WriteFields ( AP4_ByteStream stream  )  [pure virtual]

Implemented in AP4_UnknownAtom, AP4_AvccAtom, AP4_Co64Atom, AP4_ContainerAtom, AP4_CttsAtom, AP4_DrefAtom, AP4_EsdsAtom, AP4_FrmaAtom, AP4_FtypAtom, AP4_HdlrAtom, AP4_HmhdAtom, AP4_IkmsAtom, AP4_IproAtom, AP4_IsfmAtom, AP4_IsltAtom, AP4_MdhdAtom, AP4_MvhdAtom, AP4_NmhdAtom, AP4_OdafAtom, AP4_OddaAtom, AP4_OdheAtom, AP4_OhdrAtom, AP4_RtpAtom, AP4_SampleEntry, AP4_AudioSampleEntry, AP4_VisualSampleEntry, AP4_RtpHintSampleEntry, AP4_SchmAtom, AP4_SdpAtom, AP4_SmhdAtom, AP4_StcoAtom, AP4_StscAtom, AP4_StsdAtom, AP4_StssAtom, AP4_StszAtom, AP4_SttsAtom, AP4_TimsAtom, AP4_TkhdAtom, AP4_TrefTypeAtom, AP4_UrlAtom, AP4_VmhdAtom, AP4_StringAtom, and AP4_DataAtom.

virtual AP4_Result AP4_Atom::Inspect ( AP4_AtomInspector inspector  )  [virtual]

Reimplemented in AP4_SampleEntry.

Referenced by AP4_AtomListInspector::Action().

virtual AP4_Result AP4_Atom::InspectHeader ( AP4_AtomInspector inspector  )  [virtual]

virtual AP4_Result AP4_Atom::InspectFields ( AP4_AtomInspector  )  [inline, virtual]

Reimplemented in AP4_AvccAtom, AP4_Co64Atom, AP4_ContainerAtom, AP4_CttsAtom, AP4_EsdsAtom, AP4_FrmaAtom, AP4_FtypAtom, AP4_HdlrAtom, AP4_HmhdAtom, AP4_IkmsAtom, AP4_IproAtom, AP4_IsfmAtom, AP4_IsltAtom, AP4_MdhdAtom, AP4_MvhdAtom, AP4_OdafAtom, AP4_OddaAtom, AP4_OdheAtom, AP4_OhdrAtom, AP4_RtpAtom, AP4_SampleEntry, AP4_AudioSampleEntry, AP4_VisualSampleEntry, AP4_RtpHintSampleEntry, AP4_SchmAtom, AP4_SdpAtom, AP4_SmhdAtom, AP4_StcoAtom, AP4_StscAtom, AP4_StsdAtom, AP4_StssAtom, AP4_StszAtom, AP4_SttsAtom, AP4_TimsAtom, AP4_TkhdAtom, AP4_TrefTypeAtom, AP4_UrlAtom, AP4_VmhdAtom, AP4_StringAtom, and AP4_DataAtom.

Definition at line 169 of file Ap4Atom.h.

References AP4_SUCCESS.

virtual AP4_Result AP4_Atom::SetParent ( AP4_AtomParent parent  )  [inline, virtual]

Definition at line 174 of file Ap4Atom.h.

References AP4_SUCCESS, and m_Parent.

virtual AP4_AtomParent* AP4_Atom::GetParent (  )  [inline, virtual]

Definition at line 178 of file Ap4Atom.h.

References m_Parent.

virtual AP4_Result AP4_Atom::Detach (  )  [virtual]

virtual AP4_Atom* AP4_Atom::Clone (  )  [inline, virtual]

Create a clone of the object.

This method returns a clone of the atom, or NULL if the atom cannot be cloned. Override this if your want to make an atom cloneable.

Reimplemented in AP4_UnknownAtom, AP4_ContainerAtom, AP4_IkmsAtom, AP4_IsfmAtom, AP4_IsltAtom, AP4_OdafAtom, and AP4_OhdrAtom.

Definition at line 187 of file Ap4Atom.h.

References NULL.


Member Data Documentation

Type AP4_Atom::m_Type [protected]

Definition at line 191 of file Ap4Atom.h.

Referenced by GetType(), and SetType().

AP4_UI32 AP4_Atom::m_Size32 [protected]

Definition at line 192 of file Ap4Atom.h.

Referenced by GetSize(), GetSize32(), and SetSize32().

AP4_UI64 AP4_Atom::m_Size64 [protected]

Definition at line 193 of file Ap4Atom.h.

Referenced by GetSize(), GetSize64(), and SetSize64().

bool AP4_Atom::m_IsFull [protected]

Definition at line 195 of file Ap4Atom.h.

AP4_UI32 AP4_Atom::m_Version [protected]

Definition at line 196 of file Ap4Atom.h.

AP4_UI32 AP4_Atom::m_Flags [protected]

Definition at line 197 of file Ap4Atom.h.

AP4_AtomParent* AP4_Atom::m_Parent [protected]

Definition at line 198 of file Ap4Atom.h.

Referenced by GetParent(), and SetParent().


The documentation for this class was generated from the following file:
Generated on Thu Mar 15 16:06:29 2007 for Bento4 MP4 SDK by  doxygen 1.5.1-p1