Handle recordings without confidence images
This commit is contained in:
@@ -45,6 +45,7 @@ namespace OpenVulkano::AR::Playback
|
|||||||
|
|
||||||
ArchiveReader m_archiveMetadata, m_archiveColor, m_archiveDepth, m_archiveConfidence;
|
ArchiveReader m_archiveMetadata, m_archiveColor, m_archiveDepth, m_archiveConfidence;
|
||||||
size_t m_imgTotalSize = 0, m_imgReadSize = 0;
|
size_t m_imgTotalSize = 0, m_imgReadSize = 0;
|
||||||
|
bool m_hasConfidence = false;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ArPlaybackReader(const std::filesystem::path& recDir)
|
ArPlaybackReader(const std::filesystem::path& recDir)
|
||||||
@@ -53,7 +54,7 @@ namespace OpenVulkano::AR::Playback
|
|||||||
m_archiveMetadata.Open(recDir, ".*meta(data)?" + extensions);
|
m_archiveMetadata.Open(recDir, ".*meta(data)?" + extensions);
|
||||||
m_archiveColor.Open(recDir, ".*(color|image)" + extensions, &m_imgTotalSize);
|
m_archiveColor.Open(recDir, ".*(color|image)" + extensions, &m_imgTotalSize);
|
||||||
m_archiveDepth.Open(recDir, ".*depth" + extensions);
|
m_archiveDepth.Open(recDir, ".*depth" + extensions);
|
||||||
m_archiveConfidence.Open(recDir, ".*conf(idence)?" + extensions);
|
m_hasConfidence = m_archiveConfidence.Open(recDir, ".*conf(idence)?" + extensions);
|
||||||
}
|
}
|
||||||
|
|
||||||
int GetNextFrameId()
|
int GetNextFrameId()
|
||||||
@@ -95,7 +96,8 @@ namespace OpenVulkano::AR::Playback
|
|||||||
|
|
||||||
[[nodiscard]] bool HasNext() const
|
[[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);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user