Fixed a bug with reading first metadata through parseNext.
This commit is contained in:
parent
d77ce7d9e8
commit
92f86e0a9c
1 changed files with 21 additions and 2 deletions
23
lib/dtsc.cpp
23
lib/dtsc.cpp
|
@ -843,8 +843,27 @@ void DTSC::File::parseNext(){
|
|||
return;
|
||||
}
|
||||
if (memcmp(buffer, DTSC::Magic_Header, 4) == 0){
|
||||
readHeader(lastreadpos);
|
||||
jsonbuffer = metadata;
|
||||
if (lastreadpos != 0){
|
||||
readHeader(lastreadpos);
|
||||
jsonbuffer = metadata;
|
||||
}else{
|
||||
if (fread(buffer, 4, 1, F) != 1){
|
||||
fprintf(stderr, "Could not read size\n");
|
||||
strbuffer = "";
|
||||
jsonbuffer.null();
|
||||
return;
|
||||
}
|
||||
uint32_t * ubuffer = (uint32_t *)buffer;
|
||||
long packSize = ntohl(ubuffer[0]);
|
||||
strbuffer.resize(packSize);
|
||||
if (fread((void*)strbuffer.c_str(), packSize, 1, F) != 1){
|
||||
fprintf(stderr, "Could not read packet\n");
|
||||
strbuffer = "";
|
||||
jsonbuffer.null();
|
||||
return;
|
||||
}
|
||||
jsonbuffer = JSON::fromDTMI(strbuffer);
|
||||
}
|
||||
return;
|
||||
}
|
||||
long long unsigned int version = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue