Tawara  0.1.0
Namespaces | Classes | Typedefs | Enumerations | Functions
tawara Namespace Reference

Namespaces

 ebml_int
 Functions for managing integers coded for EBML.
 
 ids
 This namespace contains constants and functions for managing EBML class IDs.
 
 vint
 Functions for managing variable-length integers.
 

Classes

class  AttachedFile
 An attachment is a binary blob attached to a segment. More...
 
class  Attachments
 The Attachments element stores opaque data attached to a segment. More...
 
struct  BadBodySize
 A read body size does not match the actual body size in the file. More...
 
struct  BadDocReadVersion
 The required Tawara read version is too high. More...
 
struct  BadElementLength
 A fixed-length element is truncated or lengthened in the file. More...
 
struct  BadLacedFrameSize
 A frame with a bad size was added to a block. More...
 
struct  BadReadVersion
 The required EBML read version is too high. More...
 
class  BinaryElement
 Binary primitive element. More...
 
class  Block
 Block interface. More...
 
class  BlockAdditions
 This element is used to specify reference blocks. More...
 
class  BlockElement
 
class  BlockGroup
 The BlockGroup is the standard block. More...
 
class  BlockImpl
 Common block functionality implementation. More...
 
struct  BufferTooSmall
 A buffer was too small for the data. More...
 
class  Cluster
 The base Cluster, defining the common interface for Cluster element implementations. More...
 
class  CuePoint
 A CuePoint is an index from a timecode to one or more cluster/block positions. More...
 
class  Cues
 The Cues element provides a list of indexes into the blocks for specific timecodes. More...
 
class  CueTrackPosition
 The position in the segment of the data for a single track. More...
 
class  DateElement
 Date primitive element. More...
 
struct  DuplicateTimecode
 A duplicate timecode was encountered in the cues. More...
 
struct  DuplicateTrackNumber
 A duplicate track number was encountered. More...
 
struct  DuplicateUID
 A UID collision was encountered. More...
 
class  EBMLElement
 The EBML Header element. More...
 
class  Element
 The Element interface, a basic interface to an element object. More...
 
struct  EmptyBlock
 An empty block was encountered. More...
 
struct  EmptyBlockAdditionsElement
 An empty BlockAdditions element was read or written. More...
 
struct  EmptyCuePointElement
 An empty CuePoint element was read or written. More...
 
struct  EmptyCuesElement
 An empty Cues element was read or written. More...
 
struct  EmptyFrame
 An empty frame was encountered. More...
 
struct  EmptyTracksElement
 An empty Tracks element was read or written. More...
 
class  FileCluster
 The in-file Cluster implementation. More...
 
class  FileData
 The data of an attached file. More...
 
class  FloatElement
 Float primitive element. More...
 
class  IntElement
 Signed integer primitive element. More...
 
struct  InvalidChildID
 A child element was found where it doesn't belong. More...
 
struct  InvalidEBMLID
 An invalid EBML class ID was found. More...
 
struct  InvalidElementID
 An invalid Element ID was provided. More...
 
struct  InvalidVarInt
 An invalid variable-length integer was found. More...
 
class  MasterElement
 The MasterElement interface. More...
 
struct  MaxLaceSizeExceeded
 The maximum lace size for a block was exceeded. More...
 
class  MemoryCluster
 The in-memory Cluster implementation. More...
 
struct  MissingChild
 A necessary child element was missing. More...
 
struct  MultipleSeekHeads
 A segment was found with multiple meta-seeks. More...
 
struct  NoAttachedData
 An attached file with no data was read or written. More...
 
struct  NoAttachments
 An attachments element with no attachments was read or written. More...
 
struct  NoClusters
 A segment was found without at least one cluster. More...
 
struct  NoSegmentInfo
 A segment was found without a segment info element. More...
 
struct  NotEBML
 File is not an EBML file. More...
 
struct  NotImplemented
 Something is not supported. More...
 
struct  NoTracks
 A segment was found without a tracks information element. More...
 
struct  NotTawara
 File is not a Tawara file. More...
 
struct  NotWriting
 A segment or cluster was finalised before being started. More...
 
class  PrimitiveElement
 The primitive data element interface. More...
 
struct  ReadError
 A read error was encountered during a read. More...
 
class  SeekElement
 The Seek element, which contains a single index point in the SeekHead element. More...
 
class  SeekHead
 The SeekHead element, used as an index for a Tawara file. More...
 
class  Segment
 The Segment element. More...
 
class  SegmentInfo
 The SegmentInfo element, containing the meta-data for a segment. More...
 
class  SilentTrackNumber
 The track number of a silent track. More...
 
class  SimpleBlock
 The SimpleBlock element, a simplified version of Blocks. More...
 
struct  SpecSizeTooSmall
 A specified size for a variable-length integer is too small. More...
 
class  StringElement
 String primitive element. More...
 
class  Tawara
 The Tawara interface, the interface provided by all Tawara objects. More...
 
struct  TawaraError
 Base error type. More...
 
class  TawaraImpl
 Implementation of the Tawara interface. More...
 
class  TrackEntry
 A track entry provides the meta-data for a single track. More...
 
class  TrackJoinBlocks
 JoinBlocks track operation. More...
 
class  TrackOperationBase
 Abstract base class for individual track operations. More...
 
class  Tracks
 The Tracks element, listing all tracks in the segment. More...
 
class  UIntElement
 Unsigned integer primitive element. More...
 
struct  ValueOutOfRange
 A child element's value was set outside the allowable range. More...
 
struct  ValueSizeOutOfRange
 A child element's size is below or above the required size. More...
 
struct  VarIntTooBig
 A variable-length integer is too large to be encoded. More...
 
class  VoidElement
 Void primitive element. More...
 
struct  VoidTooSmall
 The requested size of a void element is too small. More...
 
struct  WriteError
 A write error was encountered during a write. More...
 

Typedefs

typedef boost::error_info
< struct tag_ver,
std::streamsize > 
err_ver
 A version. More...
 
typedef boost::error_info
< struct tag_pos,
std::streamsize > 
err_pos
 Position in a Tawara file. More...
 
typedef boost::error_info
< struct tag_varint, uint64_t > 
err_varint
 Value of a variable-length integer. More...
 
typedef boost::error_info
< struct tag_bufsize,
std::streamsize > 
err_bufsize
 The size of a buffer. More...
 
typedef boost::error_info
< struct tag_reqsize,
std::streamsize > 
err_reqsize
 The required size of a buffer or a file read. More...
 
typedef boost::error_info
< struct tag_specsize,
std::streamsize > 
err_specsize
 The specified size to encode a variable-length integer into. More...
 
typedef boost::error_info
< struct tag_id, ids::ID
err_id
 An Element ID. More...
 
typedef boost::error_info
< struct tag_par_id, uint32_t > 
err_par_id
 A parent element ID. More...
 
typedef boost::error_info
< struct tag_valid_sizes,
std::vector< std::streamsize > > 
err_valid_sizes
 A set of valid element sizes. More...
 
typedef boost::error_info
< struct tag_el_size,
std::streamsize > 
err_el_size
 The size of an element. More...
 
typedef boost::error_info
< struct tag_track_num,
uint64_t > 
err_track_num
 A track number. More...
 
typedef boost::error_info
< struct tag_int_uid, uint64_t > 
err_int_uid
 An integer UID. More...
 
typedef boost::error_info
< struct tag_max_lace,
unsigned int > 
err_max_lace
 The maximum size of a lace. More...
 
typedef boost::error_info
< struct tag_req_lace,
unsigned int > 
err_req_lace
 The requested size of a lace. More...
 
typedef boost::error_info
< struct tag_frame_size,
std::streamsize > 
err_frame_size
 The size of a frame. More...
 

Enumerations

enum  EBMLFloatPrec { EBML_FLOAT_PREC_SINGLE, EBML_FLOAT_PREC_DOUBLE }
 Precision of float elements. More...
 

Functions

bool operator== (AttachedFile const &lhs, AttachedFile const &rhs)
 Equality operator for the AttachedFile object. More...
 
bool operator== (Attachments const &lhs, Attachments const &rhs)
 Equality operator for the Attachemnts object. More...
 
bool operator== (BlockAdditions const &lhs, BlockAdditions const &rhs)
 Equality operator for BlockAdditions elements. More...
 
bool operator== (BlockGroup const &lhs, BlockGroup const &rhs)
 Equality operator for BlockGroup elements. More...
 
bool operator== (BlockImpl const &lhs, BlockImpl const &rhs)
 Equality operator for BlockImpl objects. More...
 
bool operator== (CueTrackPosition const &lhs, CueTrackPosition const &rhs)
 Equality operator for the CueTrackPosition element. More...
 
bool operator== (CuePoint const &lhs, CuePoint const &rhs)
 Equality operator for the CuePoint element. More...
 
bool operator== (Cues const &lhs, Cues const &rhs)
 Equality operator for the Cues element. More...
 
std::streamsize skip_read (std::istream &input, bool and_id)
 Skip an element in an input stream. More...
 
std::streamsize skip_write (std::iostream &stream, bool and_id)
 Skip an element in an input/output stream. More...
 
bool operator== (SeekHead const &lhs, SeekHead const &rhs)
 Equality operator. More...
 
bool operator== (SimpleBlock const &lhs, SimpleBlock const &rhs)
 Equality operator for SimpleBlock elements. More...
 
const std::string TawaraDocType ("tawara")
 
const std::string TawaraLibName ("tawara")
 
const std::string TawaraVersion ("0.1.0")
 
const unsigned int TawaraVersionMajor (0)
 
const unsigned int TawaraVersionMinor (1)
 
const unsigned int TawaraVersionRevision (0)
 
const unsigned int TawaraEBMLVersion (1)
 
bool operator== (TrackEntry const &lhs, TrackEntry const &rhs)
 
bool operator== (TrackJoinBlocks const &lhs, TrackJoinBlocks const &rhs)
 Equality operator for TrackJoinBlocks. More...
 
bool operator== (Tracks const &lhs, Tracks const &rhs)
 

Typedef Documentation

typedef boost::error_info<struct tag_bufsize, std::streamsize> tawara::err_bufsize

The size of a buffer.

Definition at line 520 of file exceptions.h.

typedef boost::error_info<struct tag_el_size, std::streamsize> tawara::err_el_size

The size of an element.

Definition at line 540 of file exceptions.h.

typedef boost::error_info<struct tag_frame_size, std::streamsize> tawara::err_frame_size

The size of a frame.

Definition at line 556 of file exceptions.h.

typedef boost::error_info<struct tag_id, ids::ID> tawara::err_id

An Element ID.

Definition at line 530 of file exceptions.h.

typedef boost::error_info<struct tag_int_uid, uint64_t> tawara::err_int_uid

An integer UID.

Definition at line 546 of file exceptions.h.

typedef boost::error_info<struct tag_max_lace, unsigned int> tawara::err_max_lace

The maximum size of a lace.

Definition at line 549 of file exceptions.h.

typedef boost::error_info<struct tag_par_id, uint32_t> tawara::err_par_id

A parent element ID.

Definition at line 533 of file exceptions.h.

typedef boost::error_info<struct tag_pos, std::streamsize> tawara::err_pos

Position in a Tawara file.

Definition at line 514 of file exceptions.h.

typedef boost::error_info<struct tag_req_lace, unsigned int> tawara::err_req_lace

The requested size of a lace.

Definition at line 552 of file exceptions.h.

typedef boost::error_info<struct tag_reqsize, std::streamsize> tawara::err_reqsize

The required size of a buffer or a file read.

Definition at line 523 of file exceptions.h.

typedef boost::error_info<struct tag_specsize, std::streamsize> tawara::err_specsize

The specified size to encode a variable-length integer into.

Definition at line 527 of file exceptions.h.

typedef boost::error_info<struct tag_track_num, uint64_t> tawara::err_track_num

A track number.

Definition at line 543 of file exceptions.h.

typedef boost::error_info<struct tag_valid_sizes, std::vector<std::streamsize> > tawara::err_valid_sizes

A set of valid element sizes.

Definition at line 537 of file exceptions.h.

typedef boost::error_info<struct tag_varint, uint64_t> tawara::err_varint

Value of a variable-length integer.

Definition at line 517 of file exceptions.h.

typedef boost::error_info<struct tag_ver, std::streamsize> tawara::err_ver

A version.

Definition at line 511 of file exceptions.h.

Function Documentation

bool tawara::operator== ( CueTrackPosition const &  lhs,
CueTrackPosition const &  rhs 
)

Equality operator for the CueTrackPosition element.

Equality operator.

bool tawara::operator== ( TrackJoinBlocks const &  lhs,
TrackJoinBlocks const &  rhs 
)
inline

Equality operator for TrackJoinBlocks.

Equality operator.

Definition at line 153 of file track_operation.h.

bool tawara::operator== ( AttachedFile const &  lhs,
AttachedFile const &  rhs 
)

Equality operator for the AttachedFile object.

Equality operator.

bool tawara::operator== ( BlockAdditions const &  lhs,
BlockAdditions const &  rhs 
)

Equality operator for BlockAdditions elements.

Equality operator.

bool tawara::operator== ( SeekHead const &  lhs,
SeekHead const &  rhs 
)

Equality operator.

bool tawara::operator== ( BlockImpl const &  lhs,
BlockImpl const &  rhs 
)

Equality operator for BlockImpl objects.

Equality operator.

bool tawara::operator== ( Tracks const &  lhs,
Tracks const &  rhs 
)
bool tawara::operator== ( SimpleBlock const &  lhs,
SimpleBlock const &  rhs 
)

Equality operator for SimpleBlock elements.

Equality operator.

bool tawara::operator== ( Attachments const &  lhs,
Attachments const &  rhs 
)

Equality operator for the Attachemnts object.

Equality operator.

bool tawara::operator== ( CuePoint const &  lhs,
CuePoint const &  rhs 
)

Equality operator for the CuePoint element.

Equality operator.

bool tawara::operator== ( BlockGroup const &  lhs,
BlockGroup const &  rhs 
)

Equality operator for BlockGroup elements.

Equality operator.

bool tawara::operator== ( TrackEntry const &  lhs,
TrackEntry const &  rhs 
)
bool tawara::operator== ( Cues const &  lhs,
Cues const &  rhs 
)

Equality operator for the Cues element.

Equality operator.

std::streamsize tawara::skip_read ( std::istream &  input,
bool  and_id 
)

Skip an element in an input stream.

This function skips past an element, placing the read pointer at the ID of the next element.

Parameters
[in]inputThe input stream to seek the read pointer in.
[in]and_idIf true, the read pointer is expected to be at the ID of the element to skip when the function is called, and the ID will also be skipped. If false, the read pointer is expected to be placed before the element's size value.
Returns
The number of bytes skipped.
std::streamsize tawara::skip_write ( std::iostream &  stream,
bool  and_id 
)

Skip an element in an input/output stream.

This function skips past an element, placing the write pointer after the end of the element's body.

Parameters
[in]streamThe input/ouput stream to seek the write pointer in.
[in]and_idIf true, the write pointer is expected to be at the ID of the element to skip when the function is called, and the ID will also be skipped. If false, the write pointer is expected to be placed before the element's size value.
Returns
The number of bytes skipped.
const std::string tawara::TawaraDocType ( "tawara"  )
const unsigned int tawara::TawaraEBMLVersion ( )
const std::string tawara::TawaraLibName ( "tawara"  )
const std::string tawara::TawaraVersion ( "0.1.0"  )
const unsigned int tawara::TawaraVersionMajor ( )
const unsigned int tawara::TawaraVersionMinor ( )
const unsigned int tawara::TawaraVersionRevision ( )