Switch to using yml instead of xml for AR metadata

This commit is contained in:
Georg Hagen
2024-12-06 16:09:26 +01:00
parent 18fe7eb544
commit df302518cc

View File

@@ -25,7 +25,6 @@ namespace OpenVulkano::AR
{ {
namespace namespace
{ {
constexpr std::string_view RECORDING_METADATA_FILENAME = "ArRecording.xml";
constexpr int JPEG_QUALITY = 85; constexpr int JPEG_QUALITY = 85;
std::filesystem::path GeneratePath(const std::filesystem::path& baseDir, std::string_view name) std::filesystem::path GeneratePath(const std::filesystem::path& baseDir, std::string_view name)
@@ -150,7 +149,7 @@ namespace OpenVulkano::AR
void ArRecorder::WriteMetadata(ArFrame* frame, MultiPartArchiveWriter* metaWriter) void ArRecorder::WriteMetadata(ArFrame* frame, MultiPartArchiveWriter* metaWriter)
{ {
//BlockProfiler profileMeta("Save AR Frame - Meta"); //BlockProfiler profileMeta("Save AR Frame - Meta");
std::string metaContent = frame->GetFrameMetadata().ToXML(); std::string metaContent = frame->GetFrameMetadata().ToYaml();
std::string fileName = GetFileName(frame->GetFrameId(), "meta"); std::string fileName = GetFileName(frame->GetFrameId(), "meta");
metaWriter->AddFile(fileName.c_str(), metaContent.c_str(), metaContent.size()); metaWriter->AddFile(fileName.c_str(), metaContent.c_str(), metaContent.size());
} }
@@ -179,8 +178,8 @@ namespace OpenVulkano::AR
m_metadataWriter = std::make_unique<MultiPartArchiveWriter>(m_settings.path.string(), "meta_{:05d}.tar.gz", ArchiveConfig::TAR_GZ, m_settings.archiveSize * 10, true); m_metadataWriter = std::make_unique<MultiPartArchiveWriter>(m_settings.path.string(), "meta_{:05d}.tar.gz", ArchiveConfig::TAR_GZ, m_settings.archiveSize * 10, true);
m_highResWriter = std::make_unique<MultiPartArchiveWriter>(m_settings.path.string(), "highres_{:05d}.tar", ArchiveConfig::TAR, m_settings.archiveSize, true); m_highResWriter = std::make_unique<MultiPartArchiveWriter>(m_settings.path.string(), "highres_{:05d}.tar", ArchiveConfig::TAR, m_settings.archiveSize, true);
std::ofstream platformInfoStream(m_settings.path / RECORDING_METADATA_FILENAME); std::ofstream platformInfoStream(m_settings.path / ArSessionMetadata::RECORDING_METADATA_FILENAME);
platformInfoStream << m_session->GetSessionMetadata().ToXML(); platformInfoStream << m_session->GetSessionMetadata().ToYaml();
platformInfoStream.close(); platformInfoStream.close();
} }
m_recording = true; m_recording = true;
@@ -207,8 +206,9 @@ namespace OpenVulkano::AR
{ {
if (writer) writer->Move(path); if (writer) writer->Move(path);
} }
if (std::filesystem::exists(m_settings.path / RECORDING_METADATA_FILENAME)) if (std::filesystem::exists(m_settings.path / ArSessionMetadata::RECORDING_METADATA_FILENAME))
std::filesystem::rename(m_settings.path / RECORDING_METADATA_FILENAME, path / RECORDING_METADATA_FILENAME); std::filesystem::rename(m_settings.path / ArSessionMetadata::RECORDING_METADATA_FILENAME,
path / ArSessionMetadata::RECORDING_METADATA_FILENAME);
} }
m_persistent = true; m_persistent = true;