FileParser::SequentialEssenceSource Class Reference

Essence Source that manages a sequence of essence sources from a list of file patterns. More...

#include <essence.h>

Inheritance diagram for FileParser::SequentialEssenceSource:

EssenceSource RefCount IRefCount List of all members.

Public Member Functions

 SequentialEssenceSource (FileParser *Outer)
 Construct a SequentialEssenceSource.
void SetSource (EssenceSourcePtr NewSource)
 Set the new source to use.
virtual size_t GetEssenceDataSize (void)
 Get the size of the essence data in bytes.
virtual DataChunkPtr GetEssenceData (size_t Size=0, size_t MaxSize=0)
 Get the next "installment" of essence data.
virtual bool EndOfItem (void)
 Did the last call to GetEssenceData() return the end of a wrapping item.
virtual bool EndOfData (void)
 Is all data exhasted?
virtual UInt8 GetGCEssenceType (void)
 Get the GCEssenceType to use when wrapping this essence in a Generic Container.
virtual UInt8 GetGCElementType (void)
 Get the GCEssenceType to use when wrapping this essence in a Generic Container.
virtual bool IsEditPoint (void)
 Is the last data read the start of an edit point?
virtual Rational GetEditRate (void)
 Get the edit rate of this wrapping of the essence.
virtual Position GetCurrentPosition (void)
 Get the current position in GetEditRate() sized edit units.
virtual int GetBERSize (void)
 Get the preferred BER length size for essence KLVs written from this source, 0 for auto.
virtual bool SetOption (std::string Option, Int64 Param=0)
 Set a source type or parser specific option.
virtual UInt32 GetBytesPerEditUnit (UInt32 KAGSize=1)
 Get BytesPerEditUnit if Constant, else 0.
virtual bool CanIndex ()
 Can this stream provide indexing.
virtual void SetIndexManager (IndexManagerPtr &Manager, int StreamID)
 Set the index manager to use for building index tables for this essence.
virtual IndexManagerPtrGetIndexManager (void)
 Get the index manager.
virtual int GetIndexStreamID (void)
 Get the index manager sub-stream ID.
virtual Length GetPrechargeSize (void)
 Get the origin value to use for this essence specifically to take account of pre-charge.
virtual Position GetRangeStart (void)
 Get the range start position.
virtual Position GetRangeEnd (void)
 Get the range end position.
virtual Length GetRangeDuration (void)
 Get the range duration.

Protected Types

typedef std::pair< std::string,
Int64
OptionPair
 Option pair for OptionList.

Protected Member Functions

 SequentialEssenceSource ()
 Prevent default construction.
bool ValidSource (void)
 Ensure that CurrentSource is valid and ready for reading - if not select the next source file.

Protected Attributes

EssenceSourcePtr CurrentSource
 An EssenceSource for the current source file.
FileParserPtr Outer
 The outer file parser which is owned by us to prevent it being released until be are done.
Length PreviousLength
 The total size of all previously read essence sources for this set.
std::list< OptionPairOptionList
 List of all options set for this source.

Friends

class FileParser

Detailed Description

Essence Source that manages a sequence of essence sources from a list of file patterns.


Member Typedef Documentation

typedef std::pair<std::string, Int64> OptionPair [protected]

Option pair for OptionList.


Constructor & Destructor Documentation

SequentialEssenceSource (  )  [protected]

Prevent default construction.

SequentialEssenceSource ( FileParser Outer  )  [inline]

Construct a SequentialEssenceSource.


Member Function Documentation

void SetSource ( EssenceSourcePtr  NewSource  )  [inline]

Set the new source to use.

virtual size_t GetEssenceDataSize ( void   )  [inline, virtual]

Get the size of the essence data in bytes.

Implements EssenceSource.

DataChunkPtr GetEssenceData ( size_t  Size = 0,
size_t  MaxSize = 0 
) [virtual]

Get the next "installment" of essence data.

Implements EssenceSource.

virtual bool EndOfItem ( void   )  [inline, virtual]

Did the last call to GetEssenceData() return the end of a wrapping item.

Implements EssenceSource.

virtual bool EndOfData ( void   )  [inline, virtual]

Is all data exhasted?

Implements EssenceSource.

virtual UInt8 GetGCEssenceType ( void   )  [inline, virtual]

Get the GCEssenceType to use when wrapping this essence in a Generic Container.

Implements EssenceSource.

virtual UInt8 GetGCElementType ( void   )  [inline, virtual]

Get the GCEssenceType to use when wrapping this essence in a Generic Container.

Implements EssenceSource.

virtual bool IsEditPoint ( void   )  [inline, virtual]

Is the last data read the start of an edit point?

Reimplemented from EssenceSource.

virtual Rational GetEditRate ( void   )  [inline, virtual]

Get the edit rate of this wrapping of the essence.

Implements EssenceSource.

virtual Position GetCurrentPosition ( void   )  [inline, virtual]

Get the current position in GetEditRate() sized edit units.

Implements EssenceSource.

virtual int GetBERSize ( void   )  [inline, virtual]

Get the preferred BER length size for essence KLVs written from this source, 0 for auto.

Reimplemented from EssenceSource.

virtual bool SetOption ( std::string  Option,
Int64  Param = 0 
) [inline, virtual]

Set a source type or parser specific option.

Reimplemented from EssenceSource.

virtual UInt32 GetBytesPerEditUnit ( UInt32  KAGSize = 1  )  [inline, virtual]

Get BytesPerEditUnit if Constant, else 0.

Reimplemented from EssenceSource.

virtual bool CanIndex (  )  [inline, virtual]

Can this stream provide indexing.

Reimplemented from EssenceSource.

virtual void SetIndexManager ( IndexManagerPtr Manager,
int  StreamID 
) [inline, virtual]

Set the index manager to use for building index tables for this essence.

Reimplemented from EssenceSource.

virtual IndexManagerPtr& GetIndexManager ( void   )  [inline, virtual]

Get the index manager.

Reimplemented from EssenceSource.

virtual int GetIndexStreamID ( void   )  [inline, virtual]

Get the index manager sub-stream ID.

Reimplemented from EssenceSource.

virtual Length GetPrechargeSize ( void   )  [inline, virtual]

Get the origin value to use for this essence specifically to take account of pre-charge.

Returns:
Zero if not applicable for this source

Reimplemented from EssenceSource.

virtual Position GetRangeStart ( void   )  [inline, virtual]

Get the range start position.

Reimplemented from EssenceSource.

virtual Position GetRangeEnd ( void   )  [inline, virtual]

Get the range end position.

Reimplemented from EssenceSource.

virtual Length GetRangeDuration ( void   )  [inline, virtual]

Get the range duration.

Reimplemented from EssenceSource.

bool ValidSource ( void   )  [inline, protected]

Ensure that CurrentSource is valid and ready for reading - if not select the next source file.

Returns:
true if all OK, false if no EssenceSource available


Friends And Related Function Documentation

friend class FileParser [friend]


Member Data Documentation

EssenceSourcePtr CurrentSource [protected]

An EssenceSource for the current source file.

FileParserPtr Outer [protected]

The outer file parser which is owned by us to prevent it being released until be are done.

Length PreviousLength [protected]

The total size of all previously read essence sources for this set.

std::list<OptionPair> OptionList [protected]

List of all options set for this source.


The documentation for this class was generated from the following files:
Generated on Mon Apr 2 15:20:59 2007 for MXFLib by  doxygen 1.5.1-p1