Midways commit

This commit is contained in:
Oswald Auguste de Bruin 2013-09-25 11:19:44 +02:00
parent 92f86e0a9c
commit eaeaad39e1
2 changed files with 15 additions and 2 deletions

View file

@ -129,9 +129,9 @@ namespace JSON {
template <typename T> template <typename T>
void decodeVector( std::string input, T & result ){ void decodeVector( std::string input, T & result ){
result.clear(); result.clear();
int tmp = 0; unsigned int tmp = 0;
for( int i = 0; i < input.size(); i += 2){ for( int i = 0; i < input.size(); i += 2){
int curLen = (input[i] << 8) + input[i + 1]; unsigned int curLen = (input[i] << 8) + input[i + 1];
tmp += curLen; tmp += curLen;
if (curLen != 0xFFFF){ if (curLen != 0xFFFF){
result.push_back(tmp); result.push_back(tmp);

View file

@ -60,6 +60,16 @@ namespace MP4{
} }
//sort by time on keyframes for interleaving //sort by time on keyframes for interleaving
std::sort(keyParts.begin(), keyParts.end(), keyPartSort); std::sort(keyParts.begin(), keyParts.end(), keyPartSort);
//next for loop is for debugging, delete when done
for (unsigned int i = 0; i < keyParts.size(); i++){
std::deque<long long int> parsedParts;
JSON::decodeVector(keyParts[i].parts, parsedParts);
std::cerr << "Header packet size: " << keyParts[i].size;
for (unsigned int o = 0; o < parsedParts.size(); o++){
std::cerr << " " << parsedParts[o];
}
std::cerr << std::endl;
}
//start arbitrary track addition for header //start arbitrary track addition for header
int boxOffset = 1; int boxOffset = 1;
@ -331,10 +341,12 @@ namespace MP4{
//while there are requested packets in the trackBuffer:... //while there are requested packets in the trackBuffer:...
//std::cerr << curPart << " " << curKey << " " << keyParts.size() << " " << keyParts[curKey].trackID << "|"; //std::cerr << curPart << " " << curKey << " " << keyParts.size() << " " << keyParts[curKey].trackID << "|";
//std::cerr << trackBuffer[keyParts[curKey].trackID].empty() << std::endl; //std::cerr << trackBuffer[keyParts[curKey].trackID].empty() << std::endl;
std::cerr << "Curpart: " << curPart <<std::endl;
while (!trackBuffer[keyParts[curKey].trackID].empty()){ while (!trackBuffer[keyParts[curKey].trackID].empty()){
//output requested packages //output requested packages
std::deque<long long int> parsedParts; std::deque<long long int> parsedParts;
JSON::decodeVector(keyParts[curKey].parts, parsedParts); JSON::decodeVector(keyParts[curKey].parts, parsedParts);
std::cerr << "Buffer packet size: " << mediaPart["data"].asString().size() << " Expected:" << parsedParts[curPart] << std::endl;
if(parsedParts[curPart] != trackBuffer[keyParts[curKey].trackID].front()["data"].asString().size()){ if(parsedParts[curPart] != trackBuffer[keyParts[curKey].trackID].front()["data"].asString().size()){
std::cerr << "Size discrepancy in buffer packet. Size: " << mediaPart["data"].asString().size() << " Expected:" << parsedParts[curPart] << std::endl; std::cerr << "Size discrepancy in buffer packet. Size: " << mediaPart["data"].asString().size() << " Expected:" << parsedParts[curPart] << std::endl;
} }
@ -351,6 +363,7 @@ namespace MP4{
//output JSON packet //output JSON packet
std::deque<long long int> parsedParts; std::deque<long long int> parsedParts;
JSON::decodeVector(keyParts[curKey].parts, parsedParts); JSON::decodeVector(keyParts[curKey].parts, parsedParts);
std::cerr << "JSON packet size: " << mediaPart["data"].asStringRef().size() << " Expected:" << parsedParts[curPart] << std::endl;
if(parsedParts[curPart] != mediaPart["data"].asStringRef().size()){ if(parsedParts[curPart] != mediaPart["data"].asStringRef().size()){
std::cerr << "Size discrepancy in JSON packet. Size: " << mediaPart["data"].asStringRef().size() << " Expected:" << parsedParts[curPart] << std::endl; std::cerr << "Size discrepancy in JSON packet. Size: " << mediaPart["data"].asStringRef().size() << " Expected:" << parsedParts[curPart] << std::endl;
} }