Fixes to DTSCFix and DTSCMerge programs.

This commit is contained in:
Erik Zandvliet 2013-08-23 15:08:52 +02:00 committed by Thulinma
parent 333c74a2c4
commit 22461badea
3 changed files with 10 additions and 9 deletions

View file

@ -316,7 +316,8 @@ namespace Connector_HTTP {
sstream << "t " << myRef["trackid"].asInt() << "\n";
sstream << "s " << (requestedTime / 10000) << "\np " << (mstime + mslen) <<"\n";
sstream << "s " << (requestedTime / 10000) << "\n";
sstream << "p " << (mstime + mslen) <<"\n";
ss.SendNow(sstream.str().c_str());
unsigned int myDuration;

View file

@ -10,7 +10,7 @@
namespace Converters {
class HeaderEntryDTSC {
public:
HeaderEntryDTSC() : totalSize(0), lastKeyTime(-5000), trackID(0), firstms(-1), lastms(0), keynum(0) {}
HeaderEntryDTSC() : totalSize(0), lastKeyTime(-5000), trackID(0), firstms(0x7FFFFFFF), lastms(0), keynum(0) {}
long long int totalSize;
std::vector<long long int> parts;
long long int lastKeyTime;
@ -125,12 +125,12 @@ namespace Converters {
//should create new track but this shouldnt be needed...
}
}
if (F.getJSON()["time"].asInt() < trackData[currentID].firstms){
trackData[currentID].firstms = F.getJSON()["time"].asInt();
}
if (F.getJSON()["time"].asInt() >= nowpack){
nowpack = F.getJSON()["time"].asInt();
}
if (trackData[currentID].firstms == -1){
trackData[currentID].firstms = nowpack;
}
if (trackData[currentID].type == "video"){
if (F.getJSON().isMember("keyframe")){
int newNum = meta["tracks"][currentID]["keys"].size();
@ -231,7 +231,7 @@ namespace Converters {
if (fragDur / 1000){
thisFrag["bps"] = fragSize / (fragDur / 1000);
if (maxBps < (fragSize / (fragDur / 1000))){
maxBps = (fragSize / (fragDur / 1000));
maxBps = (fragSize / (fragDur / 999));
}
} else {
thisFrag["bps"] = 1;

View file

@ -122,12 +122,12 @@ namespace Converters {
inFiles[sortIt->second.fileName].selectTracks(trackSelector);
inFiles[sortIt->second.fileName].seek_time(sortIt->second.keyTime);
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()){
if (inFiles[sortIt->second.fileName].getJSON()["trackid"].asInt() == sortIt->second.trackID){
inFiles[sortIt->second.fileName].getJSON()["trackid"] = trackMapping[sortIt->second.fileName][inFiles[sortIt->second.fileName].getJSON()["trackid"].asInt()];
inFiles[sortIt->second.fileName].getJSON()["trackid"] = trackMapping[sortIt->second.fileName][sortIt->second.trackID];
outFile.writePacket(inFiles[sortIt->second.fileName].getJSON());
inFiles[sortIt->second.fileName].seekNext();
}
inFiles[sortIt->second.fileName].seekNext();
}
}