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
#include <string>
#include <iostream>
#include <mist/dtsc.h>
#include <mist/json.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 bps = 0;
while (loader.size() != 0){
loader = F.getPacket();
if (loader.size() != 0){
pack = JSON::fromDTMI(loader);
std::cout << pack.toPrettyString() << std::endl;
nowpack = pack["time"].asInt();
F.seekNext();
while (!F.getJSON().isNull()){
std::cout << F.getJSON().toPrettyString() << std::endl;
nowpack = F.getJSON()["time"].asInt();
if (firstpack == 0){firstpack = nowpack;}
if (pack["datatype"].asString() == "audio"){
if (F.getJSON()["datatype"].asString() == "audio"){
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_max){aud_max = bps;}
}
totalaudio += pack["data"].asString().size();
totalaudio += F.getJSON()["data"].asString().size();
lastaudio = nowpack;
}
if (pack["datatype"].asString() == "video"){
if (F.getJSON()["datatype"].asString() == "video"){
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_max){vid_max = bps;}
}
if (pack["keyframe"].asInt() != 0){
if (F.getJSON()["keyframe"].asInt() != 0){
if (lastkey != 0){
bps = nowpack - lastkey;
if (bps < key_min){key_min = bps;}
@ -66,15 +65,15 @@ int main(int argc, char ** argv){
keyframes++;
lastkey = nowpack;
}
if (pack["offset"].asInt() != 0){
bps = pack["offset"].asInt();
if (F.getJSON()["offset"].asInt() != 0){
bps = F.getJSON()["offset"].asInt();
if (bps < bfrm_min){bfrm_min = bps;}
if (bps > bfrm_max){bfrm_max = bps;}
}
totalvideo += pack["data"].asString().size();
totalvideo += F.getJSON()["data"].asString().size();
lastvideo = nowpack;
}
}
F.seekNext();
}
std::cout << std::endl << "Summary:" << std::endl;