EssenceSink Class Reference

Abstract super-class for objects that receive large quantities of essence data. More...

#include <essence.h>

Inheritance diagram for EssenceSink:

RefCount IRefCount RawFileSink WaveFileSink List of all members.

Public Member Functions

 EssenceSink ()
virtual ~EssenceSink ()
 Virtual destructor to allow polymorphism.
virtual bool PutEssenceData (UInt8 *const Buffer, size_t BufferSize, bool EndOfItem=true)=0
 Receive the next "installment" of essence data.
bool PutEssenceData (DataChunkPtr &Buffer, bool EndOfItem=true)
 Receive the next "installment" of essence data from a smart pointer to a DataChunk.
bool PutEssenceData (DataChunk &Buffer, bool EndOfItem=true)
 Receive the next "installment" of essence data from a DataChunk.
virtual bool EndOfData (void)=0
 Called once all data exhasted.

Detailed Description

Abstract super-class for objects that receive large quantities of essence data.

Note:
Classes derived from this class must not include their own RefCount<> derivation


Constructor & Destructor Documentation

EssenceSink (  )  [inline]

virtual ~EssenceSink (  )  [inline, virtual]

Virtual destructor to allow polymorphism.


Member Function Documentation

virtual bool PutEssenceData ( UInt8 *const   Buffer,
size_t  BufferSize,
bool  EndOfItem = true 
) [pure virtual]

Receive the next "installment" of essence data.

This will recieve a buffer containing thhe next bytes of essence data

Parameters:
Buffer The data buffer
BufferSize The number of bytes in the data buffer
EndOfItem This buffer is the last in this wrapping item
Returns:
True if all is OK, else false
Note:
The first call may well fail if the sink has not been fully configured.

If false is returned the caller should make no more calls to this function, but the function should be implemented such that it is safe to do so

Implemented in RawFileSink, and WaveFileSink.

bool PutEssenceData ( DataChunkPtr Buffer,
bool  EndOfItem = true 
) [inline]

Receive the next "installment" of essence data from a smart pointer to a DataChunk.

bool PutEssenceData ( DataChunk Buffer,
bool  EndOfItem = true 
) [inline]

Receive the next "installment" of essence data from a DataChunk.

virtual bool EndOfData ( void   )  [pure virtual]

Called once all data exhasted.

Returns:
true if all is OK, else false
Note:
This function must also be called from the derived class' destructor in case it is never explicitly called

Implemented in RawFileSink, and WaveFileSink.


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