Fixes to DTSCFix and DTSCMerge programs.
This commit is contained in:
parent
333c74a2c4
commit
22461badea
3 changed files with 10 additions and 9 deletions
|
@ -316,7 +316,8 @@ namespace Connector_HTTP {
|
||||||
|
|
||||||
|
|
||||||
sstream << "t " << myRef["trackid"].asInt() << "\n";
|
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());
|
ss.SendNow(sstream.str().c_str());
|
||||||
|
|
||||||
unsigned int myDuration;
|
unsigned int myDuration;
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
namespace Converters {
|
namespace Converters {
|
||||||
class HeaderEntryDTSC {
|
class HeaderEntryDTSC {
|
||||||
public:
|
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;
|
long long int totalSize;
|
||||||
std::vector<long long int> parts;
|
std::vector<long long int> parts;
|
||||||
long long int lastKeyTime;
|
long long int lastKeyTime;
|
||||||
|
@ -125,12 +125,12 @@ namespace Converters {
|
||||||
//should create new track but this shouldnt be needed...
|
//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){
|
if (F.getJSON()["time"].asInt() >= nowpack){
|
||||||
nowpack = F.getJSON()["time"].asInt();
|
nowpack = F.getJSON()["time"].asInt();
|
||||||
}
|
}
|
||||||
if (trackData[currentID].firstms == -1){
|
|
||||||
trackData[currentID].firstms = nowpack;
|
|
||||||
}
|
|
||||||
if (trackData[currentID].type == "video"){
|
if (trackData[currentID].type == "video"){
|
||||||
if (F.getJSON().isMember("keyframe")){
|
if (F.getJSON().isMember("keyframe")){
|
||||||
int newNum = meta["tracks"][currentID]["keys"].size();
|
int newNum = meta["tracks"][currentID]["keys"].size();
|
||||||
|
@ -231,7 +231,7 @@ namespace Converters {
|
||||||
if (fragDur / 1000){
|
if (fragDur / 1000){
|
||||||
thisFrag["bps"] = fragSize / (fragDur / 1000);
|
thisFrag["bps"] = fragSize / (fragDur / 1000);
|
||||||
if (maxBps < (fragSize / (fragDur / 1000))){
|
if (maxBps < (fragSize / (fragDur / 1000))){
|
||||||
maxBps = (fragSize / (fragDur / 1000));
|
maxBps = (fragSize / (fragDur / 999));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
thisFrag["bps"] = 1;
|
thisFrag["bps"] = 1;
|
||||||
|
|
|
@ -122,12 +122,12 @@ namespace Converters {
|
||||||
inFiles[sortIt->second.fileName].selectTracks(trackSelector);
|
inFiles[sortIt->second.fileName].selectTracks(trackSelector);
|
||||||
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()){
|
||||||
if (inFiles[sortIt->second.fileName].getJSON()["trackid"].asInt() == sortIt->second.trackID){
|
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());
|
outFile.writePacket(inFiles[sortIt->second.fileName].getJSON());
|
||||||
inFiles[sortIt->second.fileName].seekNext();
|
|
||||||
}
|
}
|
||||||
|
inFiles[sortIt->second.fileName].seekNext();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue