Handle recordings without confidence images

This commit is contained in:
Georg Hagen
2025-03-03 18:52:57 +01:00
parent 21c5f26869
commit 019e628445

View File

@@ -45,6 +45,7 @@ namespace OpenVulkano::AR::Playback
ArchiveReader m_archiveMetadata, m_archiveColor, m_archiveDepth, m_archiveConfidence;
size_t m_imgTotalSize = 0, m_imgReadSize = 0;
bool m_hasConfidence = false;
public:
ArPlaybackReader(const std::filesystem::path& recDir)
@@ -53,7 +54,7 @@ namespace OpenVulkano::AR::Playback
m_archiveMetadata.Open(recDir, ".*meta(data)?" + extensions);
m_archiveColor.Open(recDir, ".*(color|image)" + extensions, &m_imgTotalSize);
m_archiveDepth.Open(recDir, ".*depth" + extensions);
m_archiveConfidence.Open(recDir, ".*conf(idence)?" + extensions);
m_hasConfidence = m_archiveConfidence.Open(recDir, ".*conf(idence)?" + extensions);
}
int GetNextFrameId()
@@ -95,7 +96,8 @@ namespace OpenVulkano::AR::Playback
[[nodiscard]] bool HasNext() const
{
return m_archiveMetadata.HasNext() && m_archiveDepth.HasNext() && m_archiveConfidence.HasNext() && m_archiveColor.HasNext();
return m_archiveMetadata.HasNext() && m_archiveDepth.HasNext() && m_archiveColor.HasNext()
&& (m_archiveConfidence.HasNext() || !m_hasConfidence);
}
};
}