#include <EBMLNumber.hh>
Inheritance diagram for EBMLId:


Public Member Functions | |
| EBMLId () | |
| virtual | ~EBMLId () |
| char const * | stringName () const |
| u_int64_t | val () const |
| char * | hexString () const |
| Boolean | operator== (u_int64_t arg2) const |
| Boolean | operator!= (u_int64_t arg2) const |
Data Fields | |
| Boolean | stripLeading1 |
| unsigned | len |
| u_int8_t | data [EBML_NUMBER_MAX_LEN] |
Definition at line 115 of file EBMLNumber.hh.
| EBMLId::EBMLId | ( | ) |
| EBMLId::~EBMLId | ( | ) | [virtual] |
| char const * EBMLId::stringName | ( | ) | const |
Definition at line 59 of file EBMLNumber.cpp.
References MATROSKA_ID_AUDIO, MATROSKA_ID_BLOCK, MATROSKA_ID_BLOCK_DURATION, MATROSKA_ID_BLOCK_GROUP, MATROSKA_ID_CHANNELS, MATROSKA_ID_CLUSTER, MATROSKA_ID_CODEC, MATROSKA_ID_CODEC_DECODE_ALL, MATROSKA_ID_CODEC_NAME, MATROSKA_ID_CODEC_PRIVATE, MATROSKA_ID_CONTENT_COMP_ALGO, MATROSKA_ID_CONTENT_COMP_SETTINGS, MATROSKA_ID_CONTENT_COMPRESSION, MATROSKA_ID_CONTENT_ENCODING, MATROSKA_ID_CONTENT_ENCODINGS, MATROSKA_ID_CONTENT_ENCRYPTION, MATROSKA_ID_CRC_32, MATROSKA_ID_CUE_BLOCK_NUMBER, MATROSKA_ID_CUE_CLUSTER_POSITION, MATROSKA_ID_CUE_POINT, MATROSKA_ID_CUE_TIME, MATROSKA_ID_CUE_TRACK, MATROSKA_ID_CUE_TRACK_POSITIONS, MATROSKA_ID_CUES, MATROSKA_ID_DATE_UTC, MATROSKA_ID_DEFAULT_DURATION, MATROSKA_ID_DISPLAY_HEIGHT, MATROSKA_ID_DISPLAY_WIDTH, MATROSKA_ID_DURATION, MATROSKA_ID_EBML, MATROSKA_ID_FLAG_DEFAULT, MATROSKA_ID_FLAG_ENABLED, MATROSKA_ID_FLAG_FORCED, MATROSKA_ID_FLAG_INTERLACED, MATROSKA_ID_FLAG_LACING, MATROSKA_ID_INFO, MATROSKA_ID_LANGUAGE, MATROSKA_ID_MAX_BLOCK_ADDITION_ID, MATROSKA_ID_MIN_CACHE, MATROSKA_ID_MUXING_APP, MATROSKA_ID_NAME, MATROSKA_ID_OUTPUT_SAMPLING_FREQUENCY, MATROSKA_ID_PIXEL_HEIGHT, MATROSKA_ID_PIXEL_WIDTH, MATROSKA_ID_POSITION, MATROSKA_ID_PREV_SIZE, MATROSKA_ID_REFERENCE_BLOCK, MATROSKA_ID_SAMPLING_FREQUENCY, MATROSKA_ID_SEEK, MATROSKA_ID_SEEK_HEAD, MATROSKA_ID_SEEK_ID, MATROSKA_ID_SEEK_POSITION, MATROSKA_ID_SEGMENT, MATROSKA_ID_SEGMENT_UID, MATROSKA_ID_SIMPLEBLOCK, MATROSKA_ID_TAGS, MATROSKA_ID_TIMECODE, MATROSKA_ID_TIMECODE_SCALE, MATROSKA_ID_TRACK_ENTRY, MATROSKA_ID_TRACK_NUMBER, MATROSKA_ID_TRACK_TIMECODE_SCALE, MATROSKA_ID_TRACK_TYPE, MATROSKA_ID_TRACK_UID, MATROSKA_ID_TRACKS, MATROSKA_ID_VIDEO, MATROSKA_ID_VOID, MATROSKA_ID_WRITING_APP, and EBMLNumber::val().
Referenced by MatroskaFileParser::lookForNextTrack().
00059 { 00060 switch (val()) { 00061 case MATROSKA_ID_EBML: { return "EBML"; } 00062 case MATROSKA_ID_VOID: { return "Void"; } 00063 case MATROSKA_ID_CRC_32: { return "CRC-32"; } 00064 case MATROSKA_ID_SEGMENT: { return "Segment"; } 00065 case MATROSKA_ID_SEEK_HEAD: { return "Seek Head"; } 00066 case MATROSKA_ID_SEEK: { return "Seek"; } 00067 case MATROSKA_ID_SEEK_ID: { return "Seek ID"; } 00068 case MATROSKA_ID_SEEK_POSITION: { return "Seek Position"; } 00069 case MATROSKA_ID_INFO: { return "Segment Info"; } 00070 case MATROSKA_ID_SEGMENT_UID: { return "Segment UID"; } 00071 case MATROSKA_ID_DURATION: { return "Segment Duration"; } 00072 case MATROSKA_ID_TIMECODE_SCALE: { return "Timecode Scale"; } 00073 case MATROSKA_ID_DATE_UTC: { return "Date (UTC)"; } 00074 case MATROSKA_ID_MUXING_APP: { return "Muxing App"; } 00075 case MATROSKA_ID_WRITING_APP: { return "Writing App"; } 00076 case MATROSKA_ID_CLUSTER: { return "Cluster"; } 00077 case MATROSKA_ID_TIMECODE: { return "TimeCode"; } 00078 case MATROSKA_ID_POSITION: { return "Position"; } 00079 case MATROSKA_ID_PREV_SIZE: { return "Prev. Size"; } 00080 case MATROSKA_ID_SIMPLEBLOCK: { return "SimpleBlock"; } 00081 case MATROSKA_ID_BLOCK_GROUP: { return "Block Group"; } 00082 case MATROSKA_ID_BLOCK: { return "Block"; } 00083 case MATROSKA_ID_BLOCK_DURATION: { return "Block Duration"; } 00084 case MATROSKA_ID_REFERENCE_BLOCK: { return "Reference Block"; } 00085 case MATROSKA_ID_TRACKS: { return "Tracks"; } 00086 case MATROSKA_ID_TRACK_ENTRY: { return "Track Entry"; } 00087 case MATROSKA_ID_TRACK_NUMBER: { return "Track Number"; } 00088 case MATROSKA_ID_TRACK_UID: { return "Track UID"; } 00089 case MATROSKA_ID_TRACK_TYPE: { return "Track Type"; } 00090 case MATROSKA_ID_FLAG_ENABLED: { return "Flag Enabled"; } 00091 case MATROSKA_ID_FLAG_DEFAULT: { return "Flag Default"; } 00092 case MATROSKA_ID_FLAG_FORCED: { return "Flag Forced"; } 00093 case MATROSKA_ID_FLAG_LACING: { return "Flag Lacing"; } 00094 case MATROSKA_ID_MIN_CACHE: { return "Min Cache"; } 00095 case MATROSKA_ID_DEFAULT_DURATION: { return "Default Duration"; } 00096 case MATROSKA_ID_TRACK_TIMECODE_SCALE: { return "Track Timecode Scale"; } 00097 case MATROSKA_ID_MAX_BLOCK_ADDITION_ID: { return "Max Block Addition ID"; } 00098 case MATROSKA_ID_NAME: { return "Name"; } 00099 case MATROSKA_ID_LANGUAGE: { return "Language"; } 00100 case MATROSKA_ID_CODEC: { return "Codec ID"; } 00101 case MATROSKA_ID_CODEC_PRIVATE: { return "Codec Private"; } 00102 case MATROSKA_ID_CODEC_NAME: { return "Codec Name"; } 00103 case MATROSKA_ID_CODEC_DECODE_ALL: { return "Codec Decode All"; } 00104 case MATROSKA_ID_VIDEO: { return "Video Settings"; } 00105 case MATROSKA_ID_FLAG_INTERLACED: { return "Flag Interlaced"; } 00106 case MATROSKA_ID_PIXEL_WIDTH: { return "Pixel Width"; } 00107 case MATROSKA_ID_PIXEL_HEIGHT: { return "Pixel Height"; } 00108 case MATROSKA_ID_DISPLAY_WIDTH: { return "Display Width"; } 00109 case MATROSKA_ID_DISPLAY_HEIGHT: { return "Display Height"; } 00110 case MATROSKA_ID_AUDIO: { return "Audio Settings"; } 00111 case MATROSKA_ID_SAMPLING_FREQUENCY: { return "Sampling Frequency"; } 00112 case MATROSKA_ID_OUTPUT_SAMPLING_FREQUENCY: { return "Output Sampling Frequency"; } 00113 case MATROSKA_ID_CHANNELS: { return "Channels"; } 00114 case MATROSKA_ID_CONTENT_ENCODINGS: { return "Content Encodings"; } 00115 case MATROSKA_ID_CONTENT_ENCODING: { return "Content Encoding"; } 00116 case MATROSKA_ID_CONTENT_COMPRESSION: { return "Content Compression"; } 00117 case MATROSKA_ID_CONTENT_COMP_ALGO: { return "Content Compression Algorithm"; } 00118 case MATROSKA_ID_CONTENT_COMP_SETTINGS: { return "Content Compression Settings"; } 00119 case MATROSKA_ID_CONTENT_ENCRYPTION: { return "Content Encryption"; } 00120 case MATROSKA_ID_CUES: { return "Cues"; } 00121 case MATROSKA_ID_CUE_POINT: { return "Cue Point"; } 00122 case MATROSKA_ID_CUE_TIME: { return "Cue Time"; } 00123 case MATROSKA_ID_CUE_TRACK_POSITIONS: { return "Cue Track Positions"; } 00124 case MATROSKA_ID_CUE_TRACK: { return "Cue Track"; } 00125 case MATROSKA_ID_CUE_CLUSTER_POSITION: { return "Cue Cluster Position"; } 00126 case MATROSKA_ID_CUE_BLOCK_NUMBER: { return "Cue Block Number"; } 00127 case MATROSKA_ID_TAGS: { return "Tags"; } 00128 default: { return "*****unknown*****"; } 00129 } 00130 }
| u_int64_t EBMLNumber::val | ( | ) | const [inherited] |
Definition at line 42 of file EBMLNumber.cpp.
References EBMLNumber::data, and EBMLNumber::len.
Referenced by EBMLNumber::operator==(), MatroskaFileParser::parseBlock(), and stringName().
00042 { 00043 u_int64_t result = 0; 00044 00045 for (unsigned i = 0; i < len; ++i) { 00046 result = result*256 + data[i]; 00047 } 00048 00049 return result; 00050 }
| char * EBMLNumber::hexString | ( | ) | const [inherited] |
Definition at line 30 of file EBMLNumber.cpp.
References EBMLNumber::data, EBML_NUMBER_MAX_LEN, and EBMLNumber::len.
Referenced by MatroskaFileParser::lookForNextTrack().
00030 { 00031 static char printBuf[2*EBML_NUMBER_MAX_LEN + 1]; 00032 00033 char* to = printBuf; 00034 for (unsigned i = 0; i < len; ++i) { 00035 sprintf(to, "%02X", data[i]); 00036 to += 2; 00037 } 00038 00039 return printBuf; 00040 }
| Boolean EBMLNumber::operator== | ( | u_int64_t | arg2 | ) | const [inline, inherited] |
Definition at line 37 of file EBMLNumber.hh.
References EBMLNumber::val().
00037 { return val() == arg2; }
| Boolean EBMLNumber::operator!= | ( | u_int64_t | arg2 | ) | const [inline, inherited] |
Boolean EBMLNumber::stripLeading1 [inherited] |
unsigned EBMLNumber::len [inherited] |
Definition at line 42 of file EBMLNumber.hh.
Referenced by EBMLNumber::hexString(), MatroskaFileParser::parseEBMLNumber(), and EBMLNumber::val().
u_int8_t EBMLNumber::data[EBML_NUMBER_MAX_LEN] [inherited] |
Definition at line 43 of file EBMLNumber.hh.
Referenced by EBMLNumber::hexString(), MatroskaFileParser::parseEBMLNumber(), and EBMLNumber::val().
1.5.2