JD2022-TU1/main/extern/libwebm/custom/mkvparser/segmentinfo.hpp

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