Improve coding style in determineElementPosition()

This commit is contained in:
Martchus 2018-02-05 00:59:34 +01:00
parent ae4e46869d
commit 6068bb09dc
1 changed files with 16 additions and 13 deletions

View File

@ -343,22 +343,25 @@ generateRandomId:
*/ */
ElementPosition MatroskaContainer::determineElementPosition(uint64 elementId) const ElementPosition MatroskaContainer::determineElementPosition(uint64 elementId) const
{ {
if(m_firstElement && m_segmentCount == 1) { if(!m_firstElement || m_segmentCount != 1) {
if(const EbmlElement *segmentElement = m_firstElement->siblingById(MatroskaIds::Segment, true)) { return ElementPosition::Keep;
for(const EbmlElement *childElement = segmentElement->firstChild(); childElement; childElement = childElement->nextSibling()) { }
if(childElement->id() == elementId) { const auto *const segmentElement = m_firstElement->siblingById(MatroskaIds::Segment, true);
return ElementPosition::BeforeData; if(!segmentElement) {
} else if(childElement->id() == MatroskaIds::Cluster) { return ElementPosition::Keep;
for(const auto &seekInfo : m_seekInfos) { }
for(const auto &info : seekInfo->info()) { for(const EbmlElement *childElement = segmentElement->firstChild(); childElement; childElement = childElement->nextSibling()) {
if(info.first == elementId) { if(childElement->id() == elementId) {
return ElementPosition::AfterData; return ElementPosition::BeforeData;
} } else if(childElement->id() == MatroskaIds::Cluster) {
} for(const auto &seekInfo : m_seekInfos) {
for(const auto &info : seekInfo->info()) {
if(info.first == elementId) {
return ElementPosition::AfterData;
} }
return ElementPosition::Keep;
} }
} }
return ElementPosition::Keep;
} }
} }
return ElementPosition::Keep; return ElementPosition::Keep;