64 lines
943 B
C++
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
|