Class Stream

Class Documentation

class Stream

The main interface for capturing and parsing/accessing streams of graphics (and other) API calls, and associated data.

Public Types

enum StorageFlags

Values:

enumerator STORAGE_VIRTUAL
enumerator STORAGE_PERSISTENT
enumerator STORAGE_SEQUENTIAL
enumerator STORAGE_RANDOM_ACCESS

Public Functions

Stream()
Stream(TCHAR const *directoryName)
~Stream()
bool OpenDataSource(TCHAR const *directoryName)

Open previously-captured stream data. directoryName must exist and contain valid stream data (this method will perform validation of the contents of directoryName).

Note

This method is used for reading/parsing multi-file stream data.

Parameters

directoryName -- Path to the directory containing the previously-captured stream data files.

Returns

True if directoryName exists and is found to contain valid stream data; false otherwise.

bool InitDataStore(TCHAR const *directoryName)

Initialize directoryName for stream data capture. This method will delete existing storage files in directoryName.

Note

This method is used for writing/capturing multi-file stream data.

Parameters

directoryName -- Path to the directory in which to store files containing captured stream data.

Returns

True if directory exists, false otherwise

Storage *GetOrCreateThreadStorage(uint32_t storageFlags = STORAGE_DEFAULT)

Fetch a Storage* (creating a new one if necessary) for the calling thread. The Storage* returned is the exclusive property of the calling thread (caller does not have to worry about other threads interfering with the Storage* returned from this method).

Note

Storage* returned is owned by this Stream instance, and must not be deleted or destroyed by the caller.

Note

Calling this method makes sense only at capture time;

Returns

Storage* for this thread

uint64_t GetThreadStorageID()

Fetch a Storage ID for the calling thread.

uint32_t GetStorageCount() const

Return the number of Storage "substreams" within this stream.

Returns

A count of the number of managed "substreams"

Storage *GetStorage(uint32_t index) const

Fetch a Storage* "substream" suitable for reading from the stream.

Parameters

index -- Zero-based index of the target "substream".

Returns

Storage* referring to the target "substream".

Storage *GetStorageById(uint64_t storageId) const
void OnThreadExit()
Storage *GetResourceStorage(uint32_t storageFlags = STORAGE_DEFAULT)

TODO: description.

Storage *GetKeyframeStorage(uint32_t storageFlags = STORAGE_DEFAULT)

TODO: description.

stream::StorageViewManager *GetStorageViewManager()
TCHAR const *GetStorageDirectory() const
bool Exists(TCHAR const *filePathName) const

Public Static Attributes

static uint32_t const STORAGE_DEFAULT = STORAGE_PERSISTENT | STORAGE_RANDOM_ACCESS