#include <essence.h>
Inheritance diagram for BodyReader:
Public Member Functions | |
BodyReader (MXFFilePtr File) | |
Construct a body reader and associate it with an MXF file. | |
Position | Seek (Position Pos=0) |
Seek to a specific point in the file. | |
Position | Tell (void) |
Tell the current file location. | |
Position | Seek (UInt32 BodySID, Position Pos) |
Seek to a specific byte offset in a given stream. | |
Position | Tell (UInt32 BodySID) |
Report the byte offset in a given stream. | |
void | SetDefaultHandler (GCReadHandlerPtr DefaultHandler=NULL) |
Set the default handler for all new GCReaders. | |
void | SetFillerHandler (GCReadHandlerPtr FillerHandler=NULL) |
Set the filler handler for all new GCReaders. | |
void | SetEncryptionHandler (GCReadHandlerPtr EncryptionHandler=NULL) |
Set the encryption handler for all new GCReaders. | |
bool | MakeGCReader (UInt32 BodySID, GCReadHandlerPtr DefaultHandler=NULL, GCReadHandlerPtr FillerHandler=NULL) |
Make a GCReader for the specified BodySID. | |
GCReaderPtr | GetGCReader (UInt32 BodySID) |
Get a pointer to the GCReader used for the specified BodySID. | |
bool | ReadFromFile (bool SingleKLV=false) |
Read from file. | |
bool | ReSync () |
Resync after possible loss or corruption of body data. | |
bool | IsAtPartition (void) |
Are we currently at the start of a partition pack? | |
bool | Eof (void) |
Are we currently at the end of the file? | |
UInt32 | GetBodySID (void) |
Get the BodySID of the current location (0 if not known). | |
Protected Member Functions | |
bool | InitSeek (void) |
Initialize the per SID seek system. | |
Protected Attributes | |
MXFFilePtr | File |
File from which to read. | |
Position | CurrentPos |
Current position within file. | |
bool | NewPos |
The value of CurrentPos has been updated by a seek - therefore reading must be reinitialized! | |
bool | SeekInited |
True once the per SID seek system has been initialized. | |
bool | AtPartition |
Are we (to our knowledge) at the start of a partition pack? | |
bool | AtEOF |
Are we (to our knowledge) at the end of the file? | |
UInt32 | CurrentBodySID |
The currentBodySID being processed. | |
GCReadHandlerPtr | GCRDefaultHandler |
Default handler to use for new GCReaders. | |
GCReadHandlerPtr | GCRFillerHandler |
Filler handler to use for new GCReaders. | |
GCReadHandlerPtr | GCREncryptionHandler |
Encryption handler to use for new GCReaders. | |
std::map< UInt32, GCReaderPtr > | Readers |
Map of GCReaders indexed by BodySID. |
BodyReader | ( | MXFFilePtr | File | ) |
Construct a body reader and associate it with an MXF file.
Seek to a specific point in the file.
Position Tell | ( | void | ) | [inline] |
Tell the current file location.
Seek to a specific byte offset in a given stream.
Report the byte offset in a given stream.
void SetDefaultHandler | ( | GCReadHandlerPtr | DefaultHandler = NULL |
) | [inline] |
Set the default handler for all new GCReaders.
Each time a new GCReader is created this default handler will be used if no other is specified
void SetFillerHandler | ( | GCReadHandlerPtr | FillerHandler = NULL |
) | [inline] |
Set the filler handler for all new GCReaders.
Each time a new GCReader is created this filler handler will be used if no other is specified
void SetEncryptionHandler | ( | GCReadHandlerPtr | EncryptionHandler = NULL |
) | [inline] |
Set the encryption handler for all new GCReaders.
Each time a new GCReader is created this encryption handler will be used
bool MakeGCReader | ( | UInt32 | BodySID, | |
GCReadHandlerPtr | DefaultHandler = NULL , |
|||
GCReadHandlerPtr | FillerHandler = NULL | |||
) |
GCReaderPtr GetGCReader | ( | UInt32 | BodySID | ) | [inline] |
Get a pointer to the GCReader used for the specified BodySID.
bool ReadFromFile | ( | bool | SingleKLV = false |
) |
Read from file.
All KLVs are dispatched to handlers Stops reading at the next partition pack unless SingleKLV is true when only one KLV is dispatched
bool ReSync | ( | ) |
Resync after possible loss or corruption of body data.
Searches for the next partition pack and moves file pointer to that point
bool IsAtPartition | ( | void | ) |
Are we currently at the start of a partition pack?
bool Eof | ( | void | ) |
Are we currently at the end of the file?
UInt32 GetBodySID | ( | void | ) | [inline] |
Get the BodySID of the current location (0 if not known).
bool InitSeek | ( | void | ) | [protected] |
Initialize the per SID seek system.
To allow us to seek to byte offsets within a file we need to initialize various structures - seeking is not always possible!!
MXFFilePtr File [protected] |
File from which to read.
Position CurrentPos [protected] |
Current position within file.
bool NewPos [protected] |
The value of CurrentPos has been updated by a seek - therefore reading must be reinitialized!
bool SeekInited [protected] |
True once the per SID seek system has been initialized.
bool AtPartition [protected] |
Are we (to our knowledge) at the start of a partition pack?
bool AtEOF [protected] |
Are we (to our knowledge) at the end of the file?
UInt32 CurrentBodySID [protected] |
The currentBodySID being processed.
GCReadHandlerPtr GCRDefaultHandler [protected] |
Default handler to use for new GCReaders.
GCReadHandlerPtr GCRFillerHandler [protected] |
Filler handler to use for new GCReaders.
GCReadHandlerPtr GCREncryptionHandler [protected] |
Encryption handler to use for new GCReaders.
std::map<UInt32, GCReaderPtr> Readers [protected] |
Map of GCReaders indexed by BodySID.