42 lines
No EOL
1,013 B
C++
42 lines
No EOL
1,013 B
C++
#ifndef MKVP_SEGMENTINFO_HPP
|
|
#define MKVP_SEGMENTINFO_HPP
|
|
|
|
#include "memory.hpp"
|
|
#include "ebmlelement.hpp"
|
|
|
|
namespace mkvparser
|
|
{
|
|
|
|
class Segment;
|
|
|
|
class SegmentInfo : public mem::AllocBase
|
|
{
|
|
SegmentInfo(const SegmentInfo&);
|
|
SegmentInfo& operator=(const SegmentInfo&);
|
|
|
|
public:
|
|
SegmentInfo(Segment*, const EBMLElement&);
|
|
~SegmentInfo();
|
|
|
|
long Parse();
|
|
|
|
long long GetTimeCodeScale() const { return m_timecodeScale; }
|
|
long long GetDuration() const; //scaled
|
|
const char* GetMuxingAppAsUTF8() const { return m_pMuxingAppAsUTF8; }
|
|
const char* GetWritingAppAsUTF8() const { return m_pWritingAppAsUTF8; }
|
|
const char* GetTitleAsUTF8() const { return m_pTitleAsUTF8; }
|
|
|
|
private:
|
|
Segment* const m_pSegment;
|
|
EBMLElement m_elemInfo;
|
|
|
|
long long m_timecodeScale;
|
|
double m_duration;
|
|
char* m_pMuxingAppAsUTF8;
|
|
char* m_pWritingAppAsUTF8;
|
|
char* m_pTitleAsUTF8;
|
|
};
|
|
|
|
} // namespace mkvparser
|
|
|
|
#endif // MKVP_SEGMENTINFO_HPP
|