EBMLId Class Reference

#include <EBMLNumber.hh>

Inheritance diagram for EBMLId:

Inheritance graph
[legend]
Collaboration diagram for EBMLId:

Collaboration graph
[legend]

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]

Detailed Description

Definition at line 115 of file EBMLNumber.hh.


Constructor & Destructor Documentation

EBMLId::EBMLId (  ) 

Definition at line 52 of file EBMLNumber.cpp.

00053   : EBMLNumber(False) {
00054 }

EBMLId::~EBMLId (  )  [virtual]

Definition at line 56 of file EBMLNumber.cpp.

00056                 {
00057 }


Member Function Documentation

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]

Definition at line 38 of file EBMLNumber.hh.

00038 { return !(*this == arg2); }


Field Documentation

Boolean EBMLNumber::stripLeading1 [inherited]

Definition at line 41 of file EBMLNumber.hh.

Referenced by MatroskaFileParser::parseEBMLNumber().

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().


The documentation for this class was generated from the following files:
Generated on Thu May 17 07:15:15 2012 for live by  doxygen 1.5.2