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

ASRT Box class. More...

#include <mp4_adobe.h>

Inheritance diagram for MP4::ASRT:
MP4::Box MP4::Box

Public Member Functions

 ASRT ()
 
 ASRT ()
 
char * asBox ()
 Returns a copy of the data pointer. More...
 
char * asBox ()
 
uint64_t boxedSize ()
 Returns the total boxed size of this box, including the header. More...
 
uint64_t boxedSize ()
 
void clear ()
 Makes this box managed if it wasn't already, resetting the internal storage to 8 bytes (the minimum). More...
 
void clear ()
 
const char * getQualityEntry (uint32_t no)
 
const char * getQualityEntry (uint32_t no)
 
uint32_t getQualityEntryCount ()
 
uint32_t getQualityEntryCount ()
 
asrt_runtable getSegmentRun (uint32_t no)
 
asrt_runtable getSegmentRun (uint32_t no)
 
uint32_t getSegmentRunEntryCount ()
 
uint32_t getSegmentRunEntryCount ()
 
std::string getType ()
 Returns the values at byte positions 4 through 7. More...
 
std::string getType ()
 
uint32_t getUpdate ()
 
uint32_t getUpdate ()
 
uint32_t getVersion ()
 
uint32_t getVersion ()
 
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 setQualityEntry (std::string &newQuality, uint32_t no)
 
void setQualityEntry (std::string &newQuality, uint32_t no)
 
void setSegmentRun (uint32_t firstSegment, uint32_t fragmentsPerSegment, uint32_t no)
 
void setSegmentRun (uint32_t firstSegment, uint32_t fragmentsPerSegment, uint32_t no)
 
void setUpdate (uint32_t newUpdate)
 
void setUpdate (uint32_t newUpdate)
 
void setVersion (char newVersion)
 
void setVersion (char newVersion)
 
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...
 

Detailed Description

ASRT Box class.

Constructor & Destructor Documentation

MP4::ASRT::ASRT ( )
MP4::ASRT::ASRT ( )

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
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
const char* MP4::ASRT::getQualityEntry ( uint32_t  no)
const char * MP4::ASRT::getQualityEntry ( uint32_t  no)
uint32_t MP4::ASRT::getQualityEntryCount ( )
uint32_t MP4::ASRT::getQualityEntryCount ( )
asrt_runtable MP4::ASRT::getSegmentRun ( uint32_t  no)
asrt_runtable MP4::ASRT::getSegmentRun ( uint32_t  no)
uint32_t MP4::ASRT::getSegmentRunEntryCount ( )
uint32_t MP4::ASRT::getSegmentRunEntryCount ( )
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
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.

std::string MP4::Box::getType ( )
inherited

Returns the values at byte positions 4 through 7.

std::string MP4::Box::getType ( )
inherited
uint32_t MP4::ASRT::getUpdate ( )
uint32_t MP4::ASRT::getUpdate ( )
uint32_t MP4::ASRT::getVersion ( )
uint32_t MP4::ASRT::getVersion ( )
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.

bool MP4::Box::isType ( const char *  boxType)
inherited
char * MP4::Box::payload ( )
inherited
char* MP4::Box::payload ( )
inherited
uint64_t MP4::Box::payloadSize ( )
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.

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
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::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
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::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

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::Box::setInt8 ( char  newData,
size_t  index 
)
protectedinherited
void MP4::ASRT::setQualityEntry ( std::string &  newQuality,
uint32_t  no 
)
void MP4::ASRT::setQualityEntry ( std::string &  newQuality,
uint32_t  no 
)
void MP4::ASRT::setSegmentRun ( uint32_t  firstSegment,
uint32_t  fragmentsPerSegment,
uint32_t  no 
)
void MP4::ASRT::setSegmentRun ( uint32_t  firstSegment,
uint32_t  fragmentsPerSegment,
uint32_t  no 
)
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
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::ASRT::setUpdate ( uint32_t  newUpdate)
void MP4::ASRT::setUpdate ( uint32_t  newUpdate)
void MP4::ASRT::setVersion ( char  newVersion)
void MP4::ASRT::setVersion ( char  newVersion)
std::string MP4::ASRT::toPrettyString ( uint32_t  indent = 0)
std::string MP4::ASRT::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: