Tide 0.1.0
Typedefs | Functions

tide::ids Namespace Reference

This namespace contains constants and functions for managing EBML class IDs. More...

Typedefs

typedef uint32_t ID
typedef std::pair< uint64_t,
std::vector< char >
::const_iterator > 
DecodeResult
 The result of a decode operation is a pair of the ID decoded and an iterator pointing to the first element after the used data.
typedef std::pair< ID,
std::streamsize > 
ReadResult
 The result of a read operation is a pair of the ID read and the number of bytes read.

Functions

const ID Null (0x80)
const ID Void (0xEC)
const ID CRC32 (0xBF)
const ID EBML (0x1A45DFA3)
const ID EBMLVersion (0x4286)
const ID EBMLReadVersion (0x42F7)
const ID EBMLMaxIDLength (0x42F2)
const ID EBMLMaxSizeLength (0x42F3)
const ID DocType (0x4282)
const ID DocTypeVersion (0x4287)
const ID DocTypeReadVersion (0x4285)
const ID Segment (0x18538067)
const ID SeekHead (0x114D9B74)
const ID Seek (0x4DBB)
const ID SeekID (0x53AB)
const ID SeekPosition (0x53AC)
const ID Info (0x1549A966)
const ID SegmentUID (0x73A4)
const ID SegmentFileName (0x7384)
const ID PrevUID (0x3CB923)
const ID PrevFileName (0x3C83AB)
const ID NextUID (0x3EB923)
const ID NextFileName (0x3E83AB)
const ID SegmentFamily (0x4444)
const ID TimecodeScale (0x2AD7B1)
const ID Duration (0x4489)
const ID DateUTC (0x4461)
const ID Title (0x7BA9)
const ID MuxingApp (0x4D80)
const ID WritingApp (0x5741)
const ID Cluster (0x1F43B675)
const ID Timecode (0xE7)
const ID SilentTracks (0x5854)
const ID SilentTrackNumber (0x58D7)
const ID Position (0xA7)
const ID PrevSize (0xAB)
const ID SimpleBlock (0xA3)
const ID BlockGroup (0xA0)
const ID Block (0xA1)
const ID BlockAdditions (0x75A1)
const ID BlockMore (0xA6)
const ID BlockAddID (0xEE)
const ID BlockAdditional (0xA5)
const ID BlockDuration (0x9B)
const ID ReferencePriority (0xFA)
const ID ReferenceBlock (0xFB)
const ID CodecState (0xA4)
const ID Tracks (0x1654AE6B)
const ID TrackEntry (0xAE)
const ID TrackNumber (0xD7)
const ID TrackUID (0x73C5)
const ID TrackType (0x83)
const ID FlagEnabled (0xB9)
const ID FlagDefault (0x88)
const ID FlagForced (0x55AA)
const ID FlagLacing (0x9C)
const ID MinCache (0x6DE7)
const ID MaxCache (0x6DF8)
const ID DefaultDuration (0x23E383)
const ID TrackTimecodeScale (0x23314F)
const ID MaxBlockAdditionID (0x55EE)
const ID Name (0x536E)
const ID CodecID (0x86)
const ID CodecPrivate (0x63A2)
const ID CodecName (0x258688)
const ID AttachmentLink (0x7446)
const ID CodecDecodeAll (0xAA)
const ID TrackOverlay (0x6F24)
const ID TrackOperation (0xE2)
const ID TrackJoinBlocks (0xE9)
const ID TrackJoinUID (0xED)
const ID Cues (0x1C53BB6B)
const ID CuePoint (0xBB)
const ID CueTime (0xB3)
const ID CueTrackPositions (0xB7)
const ID CueTrack (0xF7)
const ID CueClusterPosition (0xF1)
const ID CueBlockNumber (0x5378)
const ID CueCodecState (0xEA)
const ID CueReference (0xDB)
const ID CueRefTime (0x96)
const ID Attachments (0x1941A469)
const ID AttachedFile (0x61A7)
const ID FileDescription (0x467E)
const ID FileName (0x466E)
const ID FileMimeType (0x4660)
const ID FileData (0x465C)
const ID FileUID (0x46AE)
const ID Chapters (0x1043A770)
const ID EditionEntry (0x45B9)
const ID EditionUID (0x45BC)
const ID EditionFlagHidden (0x45BD)
const ID EditionFlagDefault (0x45DB)
const ID EditionFlagOrdered (0x45DD)
const ID ChapterAtom (0xB6)
const ID ChapterUID (0x73C4)
const ID ChapterTimeStart (0x91)
const ID ChapterTimeEnd (0x92)
const ID ChapterFlagHidden (0x98)
const ID ChapterFlagEnabled (0x4598)
const ID ChapterSegmentUID (0x6E67)
const ID ChapterTrack (0x8F)
const ID ChapterTrackNumber (0x89)
const ID ChapterDisplay (0x80)
const ID ChapString (0x85)
const ID ChapLanguage (0x437C)
const ID ChapCountry (0x437E)
const ID Tags (0x1254C367)
const ID Tag (0x7373)
const ID Targets (0x63C0)
const ID TagTrackUID (0x63C5)
const ID TagEditionUID (0x63C9)
const ID TagChapterUID (0x63C4)
const ID TagAttachmentUID (0x63C6)
const ID SimpleTag (0x67C8)
const ID TagName (0x45A3)
const ID TagLanguage (0x447A)
const ID TagDefault (0x4484)
const ID TagString (0x4487)
const ID TagBinary (0x4485)
std::streamsize size (ID id)
 Get the number of bytes required by an ID.
std::vector< char > encode (ID integer)
 Encode an unsigned integer into a buffer.
DecodeResult decode (std::vector< char > const &buffer)
 Decode an ID from a buffer.
std::streamsize write (ID id, std::ostream &output)
 Write an ID to an output stream.
ReadResult read (std::istream &input)
 Read an ID from an input stream.

Detailed Description

This namespace contains constants and functions for managing EBML class IDs.

The EBML class IDs used for the elements in a Tide document and functions for reading/writing them to byte streams are contained in this namespace.


Typedef Documentation

typedef std::pair<uint64_t, std::vector<char>::const_iterator> tide::ids::DecodeResult

The result of a decode operation is a pair of the ID decoded and an iterator pointing to the first element after the used data.

Definition at line 212 of file el_ids.h.

typedef uint32_t tide::ids::ID

Definition at line 49 of file el_ids.h.

typedef std::pair<ID, std::streamsize> tide::ids::ReadResult

The result of a read operation is a pair of the ID read and the number of bytes read.

Definition at line 245 of file el_ids.h.


Function Documentation

const ID tide::ids::AttachedFile ( 0x61A7  )
const ID tide::ids::AttachmentLink ( 0x7446  )
const ID tide::ids::Attachments ( 0x1941A469  )
const ID tide::ids::Block ( 0xA1  )
const ID tide::ids::BlockAddID ( 0xEE  )
const ID tide::ids::BlockAdditional ( 0xA5  )
const ID tide::ids::BlockAdditions ( 0x75A1  )
const ID tide::ids::BlockDuration ( 0x9B  )
const ID tide::ids::BlockGroup ( 0xA0  )
const ID tide::ids::BlockMore ( 0xA6  )
const ID tide::ids::ChapCountry ( 0x437E  )
const ID tide::ids::ChapLanguage ( 0x437C  )
const ID tide::ids::ChapString ( 0x85  )
const ID tide::ids::ChapterAtom ( 0xB6  )
const ID tide::ids::ChapterDisplay ( 0x80  )
const ID tide::ids::ChapterFlagEnabled ( 0x4598  )
const ID tide::ids::ChapterFlagHidden ( 0x98  )
const ID tide::ids::Chapters ( 0x1043A770  )
const ID tide::ids::ChapterSegmentUID ( 0x6E67  )
const ID tide::ids::ChapterTimeEnd ( 0x92  )
const ID tide::ids::ChapterTimeStart ( 0x91  )
const ID tide::ids::ChapterTrack ( 0x8F  )
const ID tide::ids::ChapterTrackNumber ( 0x89  )
const ID tide::ids::ChapterUID ( 0x73C4  )
const ID tide::ids::Cluster ( 0x1F43B675  )
const ID tide::ids::CodecDecodeAll ( 0xAA  )
const ID tide::ids::CodecID ( 0x86  )
const ID tide::ids::CodecName ( 0x258688  )
const ID tide::ids::CodecPrivate ( 0x63A2  )
const ID tide::ids::CodecState ( 0xA4  )
const ID tide::ids::CRC32 ( 0xBF  )
const ID tide::ids::CueBlockNumber ( 0x5378  )
const ID tide::ids::CueClusterPosition ( 0xF1  )
const ID tide::ids::CueCodecState ( 0xEA  )
const ID tide::ids::CuePoint ( 0xBB  )
const ID tide::ids::CueReference ( 0xDB  )
const ID tide::ids::CueRefTime ( 0x96  )
const ID tide::ids::Cues ( 0x1C53BB6B  )
const ID tide::ids::CueTime ( 0xB3  )
const ID tide::ids::CueTrack ( 0xF7  )
const ID tide::ids::CueTrackPositions ( 0xB7  )
const ID tide::ids::DateUTC ( 0x4461  )
DecodeResult tide::ids::decode ( std::vector< char > const &  buffer)

Decode an ID from a buffer.

Decodes the ID stored in the buffer.

Parameters:
[in]bufferThe buffer holding the raw data.
Returns:
The DecodeResult, containing the decoded ID and an iterator pointing to the first element after the used data.
Exceptions:
InvalidVarIntif the first byte in the buffer is zero, an invalid starting byte for a variable-length integer.
BufferTooSmallif the expected encoded length of the variable-length integer is larger than the available buffer length.
InvalidEBMLIDif the ID is invalid.
const ID tide::ids::DefaultDuration ( 0x23E383  )
const ID tide::ids::DocType ( 0x4282  )
const ID tide::ids::DocTypeReadVersion ( 0x4285  )
const ID tide::ids::DocTypeVersion ( 0x4287  )
const ID tide::ids::Duration ( 0x4489  )
const ID tide::ids::EBML ( 0x1A45DFA3  )
const ID tide::ids::EBMLMaxIDLength ( 0x42F2  )
const ID tide::ids::EBMLMaxSizeLength ( 0x42F3  )
const ID tide::ids::EBMLReadVersion ( 0x42F7  )
const ID tide::ids::EBMLVersion ( 0x4286  )
const ID tide::ids::EditionEntry ( 0x45B9  )
const ID tide::ids::EditionFlagDefault ( 0x45DB  )
const ID tide::ids::EditionFlagHidden ( 0x45BD  )
const ID tide::ids::EditionFlagOrdered ( 0x45DD  )
const ID tide::ids::EditionUID ( 0x45BC  )
std::vector<char> tide::ids::encode ( ID  integer)

Encode an unsigned integer into a buffer.

Encodes an unsigned variable-length integer according to the EBML specification. Leading zero bits are used to indicate the length of the encoded integer in bytes.

Parameters:
[in]integerThe integer to encode.
Returns:
A vector containing the encoded data.
Exceptions:
InvalidEBMLIDif the ID is invalid.
const ID tide::ids::FileData ( 0x465C  )
const ID tide::ids::FileDescription ( 0x467E  )
const ID tide::ids::FileMimeType ( 0x4660  )
const ID tide::ids::FileName ( 0x466E  )
const ID tide::ids::FileUID ( 0x46AE  )
const ID tide::ids::FlagDefault ( 0x88  )
const ID tide::ids::FlagEnabled ( 0xB9  )
const ID tide::ids::FlagForced ( 0x55AA  )
const ID tide::ids::FlagLacing ( 0x9C  )
const ID tide::ids::Info ( 0x1549A966  )
const ID tide::ids::MaxBlockAdditionID ( 0x55EE  )
const ID tide::ids::MaxCache ( 0x6DF8  )
const ID tide::ids::MinCache ( 0x6DE7  )
const ID tide::ids::MuxingApp ( 0x4D80  )
const ID tide::ids::Name ( 0x536E  )
const ID tide::ids::NextFileName ( 0x3E83AB  )
const ID tide::ids::NextUID ( 0x3EB923  )
const ID tide::ids::Null ( 0x80  )
const ID tide::ids::Position ( 0xA7  )
const ID tide::ids::PrevFileName ( 0x3C83AB  )
const ID tide::ids::PrevSize ( 0xAB  )
const ID tide::ids::PrevUID ( 0x3CB923  )
ReadResult tide::ids::read ( std::istream &  input)

Read an ID from an input stream.

This function reads an ID from an input stream, using the value of the first byte to determine the length of the ID.

Parameters:
[in]inputThe std::istream object to read bytes from.
Returns:
A pair containing the ID read in the first and the number of bytes read from the stream in the second.
Exceptions:
InvalidEBMLIDif the ID is invalid.
InvalidVarIntif the ID in the byte stream is unreadable.
ReadErrorif there is an error reading the input stream.
const ID tide::ids::ReferenceBlock ( 0xFB  )
const ID tide::ids::ReferencePriority ( 0xFA  )
const ID tide::ids::Seek ( 0x4DBB  )
const ID tide::ids::SeekHead ( 0x114D9B74  )
const ID tide::ids::SeekID ( 0x53AB  )
const ID tide::ids::SeekPosition ( 0x53AC  )
const ID tide::ids::Segment ( 0x18538067  )
const ID tide::ids::SegmentFamily ( 0x4444  )
const ID tide::ids::SegmentFileName ( 0x7384  )
const ID tide::ids::SegmentUID ( 0x73A4  )
const ID tide::ids::SilentTrackNumber ( 0x58D7  )
const ID tide::ids::SilentTracks ( 0x5854  )
const ID tide::ids::SimpleBlock ( 0xA3  )
const ID tide::ids::SimpleTag ( 0x67C8  )
std::streamsize tide::ids::size ( ID  id)

Get the number of bytes required by an ID.

The size required by an ID depends on its value, and will range from 1 to 8 bytes.

Parameters:
[in]idThe ID to get the size of.
Returns:
The size, in bytes, that the ID will require for optimum storage.
Exceptions:
InvalidEBMLIDif the ID is invalid.
const ID tide::ids::Tag ( 0x7373  )
const ID tide::ids::TagAttachmentUID ( 0x63C6  )
const ID tide::ids::TagBinary ( 0x4485  )
const ID tide::ids::TagChapterUID ( 0x63C4  )
const ID tide::ids::TagDefault ( 0x4484  )
const ID tide::ids::TagEditionUID ( 0x63C9  )
const ID tide::ids::TagLanguage ( 0x447A  )
const ID tide::ids::TagName ( 0x45A3  )
const ID tide::ids::Tags ( 0x1254C367  )
const ID tide::ids::TagString ( 0x4487  )
const ID tide::ids::TagTrackUID ( 0x63C5  )
const ID tide::ids::Targets ( 0x63C0  )
const ID tide::ids::Timecode ( 0xE7  )
const ID tide::ids::TimecodeScale ( 0x2AD7B1  )
const ID tide::ids::Title ( 0x7BA9  )
const ID tide::ids::TrackEntry ( 0xAE  )
const ID tide::ids::TrackJoinBlocks ( 0xE9  )
const ID tide::ids::TrackJoinUID ( 0xED  )
const ID tide::ids::TrackNumber ( 0xD7  )
const ID tide::ids::TrackOperation ( 0xE2  )
const ID tide::ids::TrackOverlay ( 0x6F24  )
const ID tide::ids::Tracks ( 0x1654AE6B  )
const ID tide::ids::TrackTimecodeScale ( 0x23314F  )
const ID tide::ids::TrackType ( 0x83  )
const ID tide::ids::TrackUID ( 0x73C5  )
const ID tide::ids::Void ( 0xEC  )
std::streamsize tide::ids::write ( ID  id,
std::ostream &  output 
)

Write an ID to an output stream.

This function writes an ID to an output stream, using the value of the ID to calculate the number of bytes required for storage.

Parameters:
[in]idThe ID to write.
[in]outputThe std::ostream object to write to.
Returns:
The number of bytes written.
Exceptions:
InvalidEBMLIDif the ID is invalid.
WriteErrorif there is an error writing to the stream.
const ID tide::ids::WritingApp ( 0x5741  )
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines