37 lines
No EOL
1,012 B
C++
37 lines
No EOL
1,012 B
C++
#ifndef MKVP_EBMLELEMENT_HPP
|
|
#define MKVP_EBMLELEMENT_HPP
|
|
|
|
#include "memory.hpp"
|
|
|
|
namespace mkvparser
|
|
{
|
|
|
|
class IMkvReader;
|
|
|
|
class EBMLElement : public mem::AllocBase
|
|
{
|
|
public:
|
|
EBMLElement();
|
|
|
|
long long Parse(IMkvReader* _reader, long long _pos);
|
|
|
|
long long GetID() const { return m_id; }
|
|
long long GetPos() const { return m_pos; }
|
|
long long GetEndPos() const { return m_payloadPos + m_payloadSize; }
|
|
long long GetSize() const { return m_payloadSize + m_payloadPos - m_pos; }
|
|
long long GetPayloadPos() const { return m_payloadPos; }
|
|
long long GetPayloadSize() const { return m_payloadSize; }
|
|
|
|
private:
|
|
void Reset();
|
|
|
|
private:
|
|
long long m_id; // ebml element id
|
|
long long m_pos; // start position in the file
|
|
long long m_payloadPos; // payload start position
|
|
long long m_payloadSize; // payload size
|
|
};
|
|
|
|
} // namespace mkvparser
|
|
|
|
#endif // MKVP_EBMLELEMENT_HPP
|