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

Enumeration Type Documentation

Precision of float elements.

Enumerator
EBML_FLOAT_PREC_SINGLE 

Single precision.

EBML_FLOAT_PREC_DOUBLE 

Double precision.

Definition at line 51 of file float_element.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 ( )