Fixed some potential segfaults in DTSC library.

This commit is contained in:
Thulinma 2013-03-25 10:48:19 +01:00
parent 06f023f3df
commit 370ebc49a2

View file

@ -317,13 +317,12 @@ void DTSC::Stream::updateHeaders(){
keyframes.clear(); keyframes.clear();
buffers.clear(); buffers.clear();
std::set<DTSC::Ring *>::iterator sit; std::set<DTSC::Ring *>::iterator sit;
if ( !rings.size()){ if (rings.size()){
return; for (sit = rings.begin(); sit != rings.end(); sit++){
} ( *sit)->updated = true;
for (sit = rings.begin(); sit != rings.end(); sit++){ ( *sit)->b = 0;
( *sit)->updated = true; ( *sit)->starved = true;
( *sit)->b = 0; }
( *sit)->starved = true;
} }
metadata.removeMember("keytime"); metadata.removeMember("keytime");
metadata.removeMember("keynum"); metadata.removeMember("keynum");
@ -331,6 +330,7 @@ void DTSC::Stream::updateHeaders(){
metadata.removeMember("frags"); metadata.removeMember("frags");
metadata.removeMember("lastms"); metadata.removeMember("lastms");
metadata.removeMember("missed_frags"); metadata.removeMember("missed_frags");
metadata.toPacked();
return; return;
} }
metadata["keytime"].shrink(keyframes.size() - 2); metadata["keytime"].shrink(keyframes.size() - 2);