Optimized getWritableIdentifier to improve the speed of MistInBuffer even further.
This commit is contained in:
parent
9631b79e86
commit
7c759c7664
2 changed files with 8 additions and 3 deletions
|
@ -282,6 +282,8 @@ namespace DTSC {
|
|||
int width;
|
||||
int height;
|
||||
int fpks;
|
||||
private:
|
||||
std::string cachedIdent;
|
||||
};
|
||||
|
||||
///\brief Class for storage of meta data
|
||||
|
|
|
@ -1376,9 +1376,11 @@ namespace DTSC {
|
|||
|
||||
///\brief Returns a writable identifier for a track, to prevent overwrites on readout
|
||||
std::string Track::getWritableIdentifier() {
|
||||
if (cachedIdent.size()){return cachedIdent;}
|
||||
std::stringstream result;
|
||||
result << getIdentifier() << "_" << trackID;
|
||||
return result.str();
|
||||
cachedIdent = result.str();
|
||||
return cachedIdent;
|
||||
}
|
||||
|
||||
///\brief Determines the "packed" size of a track
|
||||
|
@ -1418,8 +1420,9 @@ namespace DTSC {
|
|||
|
||||
///\brief Writes a track to a pointer
|
||||
void Track::writeTo(char *& p) {
|
||||
writePointer(p, convertShort(getWritableIdentifier().size()), 2);
|
||||
writePointer(p, getWritableIdentifier());
|
||||
std::string trackIdent = getWritableIdentifier();
|
||||
writePointer(p, convertShort(trackIdent.size()), 2);
|
||||
writePointer(p, trackIdent);
|
||||
writePointer(p, "\340", 1);//Begin track object
|
||||
writePointer(p, "\000\011fragments\002", 12);
|
||||
writePointer(p, convertInt(fragments.size() * 11), 4);
|
||||
|
|
Loading…
Add table
Reference in a new issue