JD2022-TU1/main/extern/libwebm/custom/mkvparser/blockgroup.cpp

64 lines
943 B
C++

#include "blockgroup.hpp"
namespace mkvparser
{
BlockGroup::BlockGroup(
Cluster* pCluster,
long idx,
long long block_start,
long long block_size,
long long prev,
long long next,
long long duration) :
BlockEntry(pCluster, idx),
m_block(block_start, block_size),
m_prev(prev),
m_next(next),
m_duration(duration)
{
}
long BlockGroup::Parse()
{
const long status = m_block.Parse(m_pCluster);
if (status)
return status;
m_block.SetKey((m_prev > 0) && (m_next <= 0));
return 0;
}
BlockEntry::Kind BlockGroup::GetKind() const
{
return kBlockGroup;
}
const Block* BlockGroup::GetBlock() const
{
return &m_block;
}
long long BlockGroup::GetPrevTimeCode() const
{
return m_prev;
}
long long BlockGroup::GetNextTimeCode() const
{
return m_next;
}
long long BlockGroup::GetDurationTimeCode() const
{
return m_duration;
}
} // namespace mkvparser