Fixed DTSC analyser after DTSC::File lib changes. Closes #51

This commit is contained in:
Thulinma 2012-09-04 14:04:04 +02:00
parent df4b8b1568
commit fdae70afa3

View file

@ -2,6 +2,7 @@
/// Reads an DTSC file and prints all readable data about it /// Reads an DTSC file and prints all readable data about it
#include <string> #include <string>
#include <iostream>
#include <mist/dtsc.h> #include <mist/dtsc.h>
#include <mist/json.h> #include <mist/json.h>
#include <mist/config.h> #include <mist/config.h>
@ -35,29 +36,27 @@ int main(int argc, char ** argv){
long long unsigned int bfrm_max = 0; long long unsigned int bfrm_max = 0;
long long unsigned int bps = 0; long long unsigned int bps = 0;
while (loader.size() != 0){ F.seekNext();
loader = F.getPacket(); while (!F.getJSON().isNull()){
if (loader.size() != 0){ std::cout << F.getJSON().toPrettyString() << std::endl;
pack = JSON::fromDTMI(loader); nowpack = F.getJSON()["time"].asInt();
std::cout << pack.toPrettyString() << std::endl;
nowpack = pack["time"].asInt();
if (firstpack == 0){firstpack = nowpack;} if (firstpack == 0){firstpack = nowpack;}
if (pack["datatype"].asString() == "audio"){ if (F.getJSON()["datatype"].asString() == "audio"){
if (lastaudio != 0 && (nowpack - lastaudio) != 0){ if (lastaudio != 0 && (nowpack - lastaudio) != 0){
bps = pack["data"].asString().size() / (nowpack - lastaudio); bps = F.getJSON()["data"].asString().size() / (nowpack - lastaudio);
if (bps < aud_min){aud_min = bps;} if (bps < aud_min){aud_min = bps;}
if (bps > aud_max){aud_max = bps;} if (bps > aud_max){aud_max = bps;}
} }
totalaudio += pack["data"].asString().size(); totalaudio += F.getJSON()["data"].asString().size();
lastaudio = nowpack; lastaudio = nowpack;
} }
if (pack["datatype"].asString() == "video"){ if (F.getJSON()["datatype"].asString() == "video"){
if (lastvideo != 0 && (nowpack - lastvideo) != 0){ if (lastvideo != 0 && (nowpack - lastvideo) != 0){
bps = pack["data"].asString().size() / (nowpack - lastvideo); bps = F.getJSON()["data"].asString().size() / (nowpack - lastvideo);
if (bps < vid_min){vid_min = bps;} if (bps < vid_min){vid_min = bps;}
if (bps > vid_max){vid_max = bps;} if (bps > vid_max){vid_max = bps;}
} }
if (pack["keyframe"].asInt() != 0){ if (F.getJSON()["keyframe"].asInt() != 0){
if (lastkey != 0){ if (lastkey != 0){
bps = nowpack - lastkey; bps = nowpack - lastkey;
if (bps < key_min){key_min = bps;} if (bps < key_min){key_min = bps;}
@ -66,15 +65,15 @@ int main(int argc, char ** argv){
keyframes++; keyframes++;
lastkey = nowpack; lastkey = nowpack;
} }
if (pack["offset"].asInt() != 0){ if (F.getJSON()["offset"].asInt() != 0){
bps = pack["offset"].asInt(); bps = F.getJSON()["offset"].asInt();
if (bps < bfrm_min){bfrm_min = bps;} if (bps < bfrm_min){bfrm_min = bps;}
if (bps > bfrm_max){bfrm_max = bps;} if (bps > bfrm_max){bfrm_max = bps;}
} }
totalvideo += pack["data"].asString().size(); totalvideo += F.getJSON()["data"].asString().size();
lastvideo = nowpack; lastvideo = nowpack;
} }
} F.seekNext();
} }
std::cout << std::endl << "Summary:" << std::endl; std::cout << std::endl << "Summary:" << std::endl;