Minor fixes to dtscMerge and Player.
This commit is contained in:
parent
aad94e2ded
commit
6d4fa4d1ef
2 changed files with 14 additions and 9 deletions
|
@ -172,6 +172,7 @@ int main(int argc, char** argv){
|
||||||
bool ret = source.seek_time(ms);
|
bool ret = source.seek_time(ms);
|
||||||
lasttime = Util::epoch();
|
lasttime = Util::epoch();
|
||||||
lastTime = 0;
|
lastTime = 0;
|
||||||
|
playUntil = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'p': { //play
|
case 'p': { //play
|
||||||
|
|
|
@ -83,7 +83,6 @@ namespace Converters {
|
||||||
long long int oldID = trackIt->second["trackid"].asInt();
|
long long int oldID = trackIt->second["trackid"].asInt();
|
||||||
long long int mappedID = getNextFree(trackMapping);
|
long long int mappedID = getNextFree(trackMapping);
|
||||||
trackMapping[it->first].insert(std::pair<int,int>(oldID,mappedID));
|
trackMapping[it->first].insert(std::pair<int,int>(oldID,mappedID));
|
||||||
trackIt->second["trackid"] = mappedID;
|
|
||||||
for (JSON::ArrIter keyIt = trackIt->second["keys"].ArrBegin(); keyIt != trackIt->second["keys"].ArrEnd(); keyIt++){
|
for (JSON::ArrIter keyIt = trackIt->second["keys"].ArrBegin(); keyIt != trackIt->second["keys"].ArrEnd(); keyIt++){
|
||||||
keyframeInfo tmpInfo;
|
keyframeInfo tmpInfo;
|
||||||
tmpInfo.fileName = it->first;
|
tmpInfo.fileName = it->first;
|
||||||
|
@ -99,12 +98,15 @@ namespace Converters {
|
||||||
}
|
}
|
||||||
allSorted.insert(std::pair<int,keyframeInfo>((*keyIt)["time"].asInt(),tmpInfo));
|
allSorted.insert(std::pair<int,keyframeInfo>((*keyIt)["time"].asInt(),tmpInfo));
|
||||||
}
|
}
|
||||||
trackIt->second.removeMember("keys");
|
std::cerr << it->first << "::" << oldID << ":\n" << trackIt->second.toPrettyString() << std::endl << std::endl;
|
||||||
trackIt->second.removeMember("frags");
|
newMeta["tracks"][it->first + JSON::Value(mappedID).asString()] = trackIt->second;
|
||||||
newMeta["tracks"][JSON::Value(mappedID).asString()] = trackIt->second;
|
newMeta["tracks"][it->first + JSON::Value(mappedID).asString()]["trackid"] = mappedID;
|
||||||
|
newMeta["tracks"][it->first + JSON::Value(mappedID).asString()].removeMember("keys");
|
||||||
|
newMeta["tracks"][it->first + JSON::Value(mappedID).asString()].removeMember("frags");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
newMeta["allsortedsize"] = (long long int)allSorted.size();
|
||||||
|
|
||||||
if (fullSort){
|
if (fullSort){
|
||||||
meta.null();
|
meta.null();
|
||||||
|
@ -121,16 +123,18 @@ namespace Converters {
|
||||||
inFiles[sortIt->second.fileName].seek_time(sortIt->second.keyTime);
|
inFiles[sortIt->second.fileName].seek_time(sortIt->second.keyTime);
|
||||||
inFiles[sortIt->second.fileName].seekNext();
|
inFiles[sortIt->second.fileName].seekNext();
|
||||||
while (inFiles[sortIt->second.fileName].getJSON() && inFiles[sortIt->second.fileName].getBytePos() < sortIt->second.endBPos && !inFiles[sortIt->second.fileName].reachedEOF()){
|
while (inFiles[sortIt->second.fileName].getJSON() && inFiles[sortIt->second.fileName].getBytePos() < sortIt->second.endBPos && !inFiles[sortIt->second.fileName].reachedEOF()){
|
||||||
inFiles[sortIt->second.fileName].getJSON()["trackid"] = trackMapping[sortIt->second.fileName][inFiles[sortIt->second.fileName].getJSON()["trackid"].asInt()];
|
if (inFiles[sortIt->second.fileName].getJSON()["trackid"].asInt() == sortIt->second.trackID){
|
||||||
outFile.writePacket(inFiles[sortIt->second.fileName].getJSON());
|
inFiles[sortIt->second.fileName].getJSON()["trackid"] = trackMapping[sortIt->second.fileName][inFiles[sortIt->second.fileName].getJSON()["trackid"].asInt()];
|
||||||
inFiles[sortIt->second.fileName].seekNext();
|
outFile.writePacket(inFiles[sortIt->second.fileName].getJSON());
|
||||||
|
inFiles[sortIt->second.fileName].seekNext();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fullSort || (meta.isMember("merged") && meta["merged"])){
|
if (fullSort || (meta.isMember("merged") && meta["merged"])){
|
||||||
newMeta["tracks"]["merged"] = true;
|
newMeta["merged"] = true;
|
||||||
}else{
|
}else{
|
||||||
newMeta["tracks"].removeMember("merged");
|
newMeta.removeMember("merged");
|
||||||
}
|
}
|
||||||
std::string writeMeta = newMeta.toPacked();
|
std::string writeMeta = newMeta.toPacked();
|
||||||
meta["moreheader"] = outFile.addHeader(writeMeta);
|
meta["moreheader"] = outFile.addHeader(writeMeta);
|
||||||
|
|
Loading…
Add table
Reference in a new issue