26 lines
637 B
C
26 lines
637 B
C
|
#pragma once
|
||
|
#include "../nsmkv/header.h"
|
||
|
#include "../nsmkv/segmentinfo.h"
|
||
|
#include "../nsmkv/tracks.h"
|
||
|
// parses only enough information to use in GetExtendedFileInfo
|
||
|
|
||
|
class MKVInfo
|
||
|
{
|
||
|
public:
|
||
|
MKVInfo();
|
||
|
bool Open(const wchar_t *filename);
|
||
|
int GetLengthMilliseconds();
|
||
|
const char *GetTitle();
|
||
|
int GetBitrate();
|
||
|
bool GetHeight(int &height);
|
||
|
bool GetWidth(int &width);
|
||
|
const nsmkv::Tracks *GetTracks();
|
||
|
private:
|
||
|
uint64_t ReadSegment(nsmkv::MKVReader *reader, uint64_t size);
|
||
|
bool segment_info_found;
|
||
|
bool tracks_found;
|
||
|
nsmkv::Header header;
|
||
|
nsmkv::SegmentInfo segment_info;
|
||
|
nsmkv::Tracks tracks;
|
||
|
uint64_t content_length;
|
||
|
};
|