|
| VRS_API int | writeDescriptionRecord (WriteFileHandler &file, const map< StreamId, const StreamTags * > &streamTags, const map< string, string > &fileTags, uint32_t &outPreviousRecordSize) |
| |
| VRS_API int | readDescriptionRecord (FileHandler &file, uint32_t recordHeaderSize, uint32_t &outDescriptionRecordSize, map< StreamId, StreamTags > &outStreamTags, map< string, string > &outFileTags) |
| |
| VRS_API void | upgradeStreamTags (map< string, string > &streamTags) |
| |
| VRS_API void | createStreamSerialNumbers (const map< string, string > &inFileTags, map< StreamId, StreamTags > &inOutStreamTags) |
| |
Helper functions to read & write description records.
| void vrs::DescriptionRecord::createStreamSerialNumbers |
( |
const map< string, string > & |
inFileTags, |
|
|
map< StreamId, StreamTags > & |
inOutStreamTags |
|
) |
| |
Streams did not always have a serial number generated at creation. To simplify backward compatibility with existing files, when opening a file, we generate a deterministic serial number for each stream, if there isn't one already. That serial number is a hash of the file tags, that stream's tags, and the stream's type and sequence number, so that reprocessed or split files generate the same serial numbers.
- Parameters
-
| inFileTags | the file's tags. |
| inOutStreamTags | stream tags with or without serial numbers. On exit, every stream will have a unique serial number, preserving existing values. |