49 lines
1.5 KiB
C++
49 lines
1.5 KiB
C++
#include <string>
|
|
#include "analyser_ogg.h"
|
|
|
|
oggAnalyser::oggAnalyser(Util::Config config) : analysers(config)
|
|
{
|
|
std::cout << "ogg constr" << std::endl;
|
|
|
|
filter = conf.getInteger("filter");
|
|
FLV::Tag flvData; // Temporary storage for incoming FLV data.
|
|
endTime = 0;
|
|
|
|
}
|
|
|
|
void oggAnalyser::doValidate()
|
|
{
|
|
std::cout << upTime << ", " << finTime << ", " << (finTime-upTime) << ", " << flvData.tagTime() << std::endl;
|
|
}
|
|
|
|
bool oggAnalyser::packetReady()
|
|
{
|
|
return flvData.FileLoader(stdin);
|
|
}
|
|
|
|
int oggAnalyser::doAnalyse()
|
|
{
|
|
if (analyse){ //always analyse..?
|
|
if (!filter || filter == flvData.data[0]){
|
|
std::cout << "[" << flvData.tagTime() << "+" << flvData.offset() << "] " << flvData.tagType() << std::endl;
|
|
}
|
|
}
|
|
endTime = flvData.tagTime();
|
|
|
|
return endTime;
|
|
}
|
|
|
|
int main(int argc, char ** argv){
|
|
Util::Config conf = Util::Config(argv[0]);
|
|
conf.addOption("filter", JSON::fromString("{\"arg\":\"num\", \"short\":\"f\", \"long\":\"filter\", \"default\":0, \"help\":\"Only print info about this tag type (8 = audio, 9 = video, 0 = all)\"}"));
|
|
conf.addOption("mode", JSON::fromString("{\"long\":\"mode\", \"arg\":\"string\", \"short\":\"m\", \"default\":\"analyse\", \"help\":\"What to do with the stream. Valid modes are 'analyse', 'validate', 'output'.\"}"));
|
|
conf.addOption("filename", JSON::fromString( "{\"arg_num\":1, \"arg\":\"string\", \"default\":\"\", \"help\":\"Filename of the FLV file to analyse.\"}"));
|
|
conf.parseArgs(argc, argv);
|
|
|
|
oggAnalyser A(conf);
|
|
|
|
A.Run();
|
|
|
|
return 0;
|
|
}
|
|
|