1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "metadataparser.h"
#include "nwutils.h"
#include "N0Slib.h"
MetaDataParser::MetaDataParser()
{
}
MetaData::MetaData() : duration(-1)
{
}
void MetaData::describe(nw::Describer* de) {
NwUtils::describe(*de, "duration", this->duration);
de->describeArray("chapters", "chapter", this->chapters.size());
for (int i=0; de->enterNextElement(i); ++i) {
MetaDataChapter c = this->chapters[i];
NwUtils::describe(*de, "start", c.start);
NwUtils::describe(*de, "end", c.end);
NwUtils::describe(*de, "title", c.title);
}
}
QString MetaData::toJson() {
std::stringstream ss;
nw::JsonWriter jw(ss);
this->describe(&jw);
jw.close();
return QString(ss.str().c_str());
}
std::pair<int, int> MetaData::resolution() const {
foreach (MetaDataTrack track, this->tracks) {
if (track.type == video) {
return std::pair<int,int>(track.track.video.resolutionX, track.track.video.resolutionY);
}
}
return std::pair<int,int>(-1,-1);
}