MistServer  2.5.3-Pro-19-gf5e75b1 ( Generic_64)
Public Member Functions | Protected Member Functions | Protected Attributes
MP4::MVHD Class Reference

#include <mp4_generic.h>

Inheritance diagram for MP4::MVHD:
MP4::fullBox MP4::fullBox MP4::Box MP4::Box MP4::Box MP4::Box

Public Member Functions

 MVHD (long long unsigned int duration)
 
 MVHD (long long unsigned int duration)
 
char * asBox ()
 Returns a copy of the data pointer. More...
 
char * asBox ()
 
uint64_t boxedSize ()
 
uint64_t boxedSize ()
 Returns the total boxed size of this box, including the header. More...
 
void clear ()
 
void clear ()
 Makes this box managed if it wasn't already, resetting the internal storage to 8 bytes (the minimum). More...
 
uint64_t getCreationTime ()
 
uint64_t getCreationTime ()
 
uint64_t getDuration ()
 
uint64_t getDuration ()
 
uint32_t getFlags ()
 
uint32_t getFlags ()
 
int32_t getMatrix (size_t index)
 
int32_t getMatrix (size_t index)
 
uint32_t getMatrixCount ()
 
uint32_t getMatrixCount ()
 
uint64_t getModificationTime ()
 
uint64_t getModificationTime ()
 
uint32_t getRate ()
 
uint32_t getRate ()
 
uint32_t getTimeScale ()
 
uint32_t getTimeScale ()
 
uint32_t getTrackID ()
 
uint32_t getTrackID ()
 
std::string getType ()
 Returns the values at byte positions 4 through 7. More...
 
std::string getType ()
 
char getVersion ()
 
char getVersion ()
 
uint16_t getVolume ()
 
uint16_t getVolume ()
 
bool isType (const char *boxType)
 Returns true if the given 4-byte boxtype is equal to the values at byte positions 4 through 7. More...
 
bool isType (const char *boxType)
 
char * payload ()
 
char * payload ()
 
uint64_t payloadSize ()
 
uint64_t payloadSize ()
 Retruns the size of the payload of thix box, excluding the header. More...
 
bool read (FILE *newData)
 
bool read (FILE *newData)
 
bool read (std::string &newData)
 Reads out a whole box (if possible) from newData, copying to the internal data storage and removing from the input string. More...
 
bool read (std::string &newData)
 
void setCreationTime (uint64_t newCreationTime)
 
void setCreationTime (uint64_t newCreationTime)
 
void setDuration (uint64_t newDuration)
 
void setDuration (uint64_t newDuration)
 
void setFlags (uint32_t newFlags)
 
void setFlags (uint32_t newFlags)
 
void setMatrix (int32_t newMatrix, size_t index)
 
void setMatrix (int32_t newMatrix, size_t index)
 
void setModificationTime (uint64_t newModificationTime)
 
void setModificationTime (uint64_t newModificationTime)
 
void setRate (uint32_t newRate)
 
void setRate (uint32_t newRate)
 
void setTimeScale (uint32_t newTimeScale)
 
void setTimeScale (uint32_t newTimeScale)
 
void setTrackID (uint32_t newTrackID)
 
void setTrackID (uint32_t newTrackID)
 
void setVersion (char newVersion)
 
void setVersion (char newVersion)
 
void setVolume (uint16_t newVolume)
 
void setVolume (uint16_t newVolume)
 
std::string toPrettyString (uint32_t indent=0)
 
std::string toPrettyString (uint32_t indent=0)
 

Protected Member Functions

BoxgetBox (size_t index)
 Gets a reference to the box at the given index. More...
 
BoxgetBox (size_t index)
 
size_t getBoxLen (size_t index)
 
size_t getBoxLen (size_t index)
 Returns the size of the box at the given position. More...
 
short getInt16 (size_t index)
 
short getInt16 (size_t index)
 Gets the 16 bits integer at the given index. More...
 
uint32_t getInt24 (size_t index)
 Gets the 24 bits integer at the given index. More...
 
uint32_t getInt24 (size_t index)
 
uint32_t getInt32 (size_t index)
 
uint32_t getInt32 (size_t index)
 Gets the 32 bits integer at the given index. More...
 
uint64_t getInt64 (size_t index)
 Gets the 64 bits integer at the given index. More...
 
uint64_t getInt64 (size_t index)
 
char getInt8 (size_t index)
 
char getInt8 (size_t index)
 Gets the 8 bits integer at the given index. More...
 
char * getString (size_t index)
 Gets the NULL-terminated string at the given index. More...
 
char * getString (size_t index)
 
size_t getStringLen (size_t index)
 Returns the length of the NULL-terminated string at the given index. More...
 
size_t getStringLen (size_t index)
 
bool reserve (size_t position, size_t current, size_t wanted)
 Attempts to reserve enough space for wanted bytes of data at given position, where current bytes of data is now reserved. More...
 
bool reserve (size_t position, size_t current, size_t wanted)
 
void setBox (Box &newEntry, size_t index)
 
void setBox (Box &newEntry, size_t index)
 Replaces the existing box at the given index by the new box newEntry. More...
 
void setInt16 (short newData, size_t index)
 Sets the 16 bits integer at the given index. More...
 
void setInt16 (short newData, size_t index)
 
void setInt24 (uint32_t newData, size_t index)
 Sets the 24 bits integer at the given index. More...
 
void setInt24 (uint32_t newData, size_t index)
 
void setInt32 (uint32_t newData, size_t index)
 Sets the 32 bits integer at the given index. More...
 
void setInt32 (uint32_t newData, size_t index)
 
void setInt64 (uint64_t newData, size_t index)
 
void setInt64 (uint64_t newData, size_t index)
 Sets the 64 bits integer at the given index. More...
 
void setInt8 (char newData, size_t index)
 
void setInt8 (char newData, size_t index)
 Sets the 8 bits integer at the given index. More...
 
void setString (std::string newData, size_t index)
 
void setString (std::string newData, size_t index)
 Sets the NULL-terminated string at the given index. More...
 
void setString (char *newData, size_t size, size_t index)
 Sets the NULL-terminated string at the given index. More...
 
void setString (char *newData, size_t size, size_t index)
 

Protected Attributes

char * data
 Holds the data of this box. More...
 
unsigned int data_size
 Currently reserved size. More...
 
bool managed
 If false, will not attempt to resize/free the data pointer. More...
 
unsigned int payloadOffset
 The offset of the payload with regards to the data. More...
 

Constructor & Destructor Documentation

MP4::MVHD::MVHD ( long long unsigned int  duration)
MP4::MVHD::MVHD ( long long unsigned int  duration)

Member Function Documentation

char * MP4::Box::asBox ( )
inherited

Returns a copy of the data pointer.

char* MP4::Box::asBox ( )
inherited
uint64_t MP4::Box::boxedSize ( )
inherited

Returns the total boxed size of this box, including the header.

uint64_t MP4::Box::boxedSize ( )
inherited
void MP4::Box::clear ( )
inherited

Makes this box managed if it wasn't already, resetting the internal storage to 8 bytes (the minimum).

If this box wasn't managed, the original data is left intact - otherwise it is free'd. If it was somehow impossible to allocate 8 bytes (should never happen), this will cause segfaults later.

void MP4::Box::clear ( )
inherited
Box & MP4::Box::getBox ( size_t  index)
protectedinherited

Gets a reference to the box at the given index.

Do not store or copy this reference, for there will be raptors. Will attempt to resize if out of range. Returns an 8-byte error box if resizing failed.

Box& MP4::Box::getBox ( size_t  index)
protectedinherited
size_t MP4::Box::getBoxLen ( size_t  index)
protectedinherited

Returns the size of the box at the given position.

Returns undefined values if there is no box at the given position. Returns 0 if out of range.

size_t MP4::Box::getBoxLen ( size_t  index)
protectedinherited
uint64_t MP4::MVHD::getCreationTime ( )
uint64_t MP4::MVHD::getCreationTime ( )
uint64_t MP4::MVHD::getDuration ( )
uint64_t MP4::MVHD::getDuration ( )
uint32_t MP4::fullBox::getFlags ( )
inherited
uint32_t MP4::fullBox::getFlags ( )
inherited
short MP4::Box::getInt16 ( size_t  index)
protectedinherited

Gets the 16 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Returns zero if resizing failed.

short MP4::Box::getInt16 ( size_t  index)
protectedinherited
uint32_t MP4::Box::getInt24 ( size_t  index)
protectedinherited

Gets the 24 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Returns zero if resizing failed.

uint32_t MP4::Box::getInt24 ( size_t  index)
protectedinherited
uint32_t MP4::Box::getInt32 ( size_t  index)
protectedinherited

Gets the 32 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Returns zero if resizing failed.

uint32_t MP4::Box::getInt32 ( size_t  index)
protectedinherited
uint64_t MP4::Box::getInt64 ( size_t  index)
protectedinherited

Gets the 64 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Returns zero if resizing failed.

uint64_t MP4::Box::getInt64 ( size_t  index)
protectedinherited
char MP4::Box::getInt8 ( size_t  index)
protectedinherited

Gets the 8 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Returns zero if resizing failed.

char MP4::Box::getInt8 ( size_t  index)
protectedinherited
int32_t MP4::MVHD::getMatrix ( size_t  index)
int32_t MP4::MVHD::getMatrix ( size_t  index)
uint32_t MP4::MVHD::getMatrixCount ( )
uint32_t MP4::MVHD::getMatrixCount ( )
uint64_t MP4::MVHD::getModificationTime ( )
uint64_t MP4::MVHD::getModificationTime ( )
uint32_t MP4::MVHD::getRate ( )
uint32_t MP4::MVHD::getRate ( )
char * MP4::Box::getString ( size_t  index)
protectedinherited

Gets the NULL-terminated string at the given index.

Will attempt to resize if the string is out of range. Returns null if resizing failed.

char* MP4::Box::getString ( size_t  index)
protectedinherited
size_t MP4::Box::getStringLen ( size_t  index)
protectedinherited

Returns the length of the NULL-terminated string at the given index.

Returns 0 if out of range.

size_t MP4::Box::getStringLen ( size_t  index)
protectedinherited
uint32_t MP4::MVHD::getTimeScale ( )
uint32_t MP4::MVHD::getTimeScale ( )
uint32_t MP4::MVHD::getTrackID ( )
uint32_t MP4::MVHD::getTrackID ( )
std::string MP4::Box::getType ( )
inherited

Returns the values at byte positions 4 through 7.

std::string MP4::Box::getType ( )
inherited
char MP4::fullBox::getVersion ( )
inherited
char MP4::fullBox::getVersion ( )
inherited
uint16_t MP4::MVHD::getVolume ( )
uint16_t MP4::MVHD::getVolume ( )
bool MP4::Box::isType ( const char *  boxType)
inherited
bool MP4::Box::isType ( const char *  boxType)
inherited

Returns true if the given 4-byte boxtype is equal to the values at byte positions 4 through 7.

char * MP4::Box::payload ( )
inherited
char* MP4::Box::payload ( )
inherited
uint64_t MP4::Box::payloadSize ( )
inherited

Retruns the size of the payload of thix box, excluding the header.

This value is defined as boxedSize() - 8.

uint64_t MP4::Box::payloadSize ( )
inherited
bool MP4::Box::read ( FILE *  newData)
inherited
bool MP4::Box::read ( FILE *  newData)
inherited
bool MP4::Box::read ( std::string &  newData)
inherited

Reads out a whole box (if possible) from newData, copying to the internal data storage and removing from the input string.

Returns
True on success, false otherwise.
bool MP4::Box::read ( std::string &  newData)
inherited
bool MP4::Box::reserve ( size_t  position,
size_t  current,
size_t  wanted 
)
protectedinherited

Attempts to reserve enough space for wanted bytes of data at given position, where current bytes of data is now reserved.

This will move any existing data behind the currently reserved space to the proper location after reserving.

Returns
True on success, false otherwise.
bool MP4::Box::reserve ( size_t  position,
size_t  current,
size_t  wanted 
)
protectedinherited
void MP4::Box::setBox ( Box newEntry,
size_t  index 
)
protectedinherited

Replaces the existing box at the given index by the new box newEntry.

Will resize if needed, will reserve new space if out of range.

void MP4::Box::setBox ( Box newEntry,
size_t  index 
)
protectedinherited
void MP4::MVHD::setCreationTime ( uint64_t  newCreationTime)
void MP4::MVHD::setCreationTime ( uint64_t  newCreationTime)
void MP4::MVHD::setDuration ( uint64_t  newDuration)
void MP4::MVHD::setDuration ( uint64_t  newDuration)
void MP4::fullBox::setFlags ( uint32_t  newFlags)
inherited
void MP4::fullBox::setFlags ( uint32_t  newFlags)
inherited
void MP4::Box::setInt16 ( short  newData,
size_t  index 
)
protectedinherited

Sets the 16 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Fails silently if resizing failed.

void MP4::Box::setInt16 ( short  newData,
size_t  index 
)
protectedinherited
void MP4::Box::setInt24 ( uint32_t  newData,
size_t  index 
)
protectedinherited

Sets the 24 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Fails silently if resizing failed.

void MP4::Box::setInt24 ( uint32_t  newData,
size_t  index 
)
protectedinherited
void MP4::Box::setInt32 ( uint32_t  newData,
size_t  index 
)
protectedinherited

Sets the 32 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Fails silently if resizing failed.

void MP4::Box::setInt32 ( uint32_t  newData,
size_t  index 
)
protectedinherited
void MP4::Box::setInt64 ( uint64_t  newData,
size_t  index 
)
protectedinherited
void MP4::Box::setInt64 ( uint64_t  newData,
size_t  index 
)
protectedinherited

Sets the 64 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Fails silently if resizing failed.

void MP4::Box::setInt8 ( char  newData,
size_t  index 
)
protectedinherited
void MP4::Box::setInt8 ( char  newData,
size_t  index 
)
protectedinherited

Sets the 8 bits integer at the given index.

Attempts to resize the data pointer if the index is out of range. Fails silently if resizing failed.

void MP4::MVHD::setMatrix ( int32_t  newMatrix,
size_t  index 
)
void MP4::MVHD::setMatrix ( int32_t  newMatrix,
size_t  index 
)
void MP4::MVHD::setModificationTime ( uint64_t  newModificationTime)
void MP4::MVHD::setModificationTime ( uint64_t  newModificationTime)
void MP4::MVHD::setRate ( uint32_t  newRate)
void MP4::MVHD::setRate ( uint32_t  newRate)
void MP4::Box::setString ( std::string  newData,
size_t  index 
)
protectedinherited
void MP4::Box::setString ( std::string  newData,
size_t  index 
)
protectedinherited

Sets the NULL-terminated string at the given index.

Will attempt to resize if the string doesn't fit. Fails silently if resizing failed.

void MP4::Box::setString ( char *  newData,
size_t  size,
size_t  index 
)
protectedinherited

Sets the NULL-terminated string at the given index.

Will attempt to resize if the string doesn't fit. Fails silently if resizing failed.

void MP4::Box::setString ( char *  newData,
size_t  size,
size_t  index 
)
protectedinherited
void MP4::MVHD::setTimeScale ( uint32_t  newTimeScale)
void MP4::MVHD::setTimeScale ( uint32_t  newTimeScale)
void MP4::MVHD::setTrackID ( uint32_t  newTrackID)
void MP4::MVHD::setTrackID ( uint32_t  newTrackID)
void MP4::fullBox::setVersion ( char  newVersion)
inherited
void MP4::fullBox::setVersion ( char  newVersion)
inherited
void MP4::MVHD::setVolume ( uint16_t  newVolume)
void MP4::MVHD::setVolume ( uint16_t  newVolume)
std::string MP4::MVHD::toPrettyString ( uint32_t  indent = 0)
std::string MP4::MVHD::toPrettyString ( uint32_t  indent = 0)

Field Documentation

char * MP4::Box::data
protectedinherited

Holds the data of this box.

unsigned int MP4::Box::data_size
protectedinherited

Currently reserved size.

bool MP4::Box::managed
protectedinherited

If false, will not attempt to resize/free the data pointer.

unsigned int MP4::Box::payloadOffset
protectedinherited

The offset of the payload with regards to the data.


The documentation for this class was generated from the following files: