diff --git a/openVulkanoCpp/AR/ArFrameMetadata.hpp b/openVulkanoCpp/AR/ArFrameMetadata.hpp index 8f056b5..18ee1b4 100644 --- a/openVulkanoCpp/AR/ArFrameMetadata.hpp +++ b/openVulkanoCpp/AR/ArFrameMetadata.hpp @@ -28,5 +28,10 @@ namespace OpenVulkano::AR static ArFrameMetadata FromXML(const char* xml, size_t length); static ArFrameMetadata FromYaml(const char* yaml, size_t length); + + static ArFrameMetadata FromContent(const char* content, size_t length) + { + return content[0] == '<' ? FromXML(content, length) : FromYaml(content, length); + } }; } \ No newline at end of file diff --git a/openVulkanoCpp/AR/Provider/Playback/ArFramePlayback.cpp b/openVulkanoCpp/AR/Provider/Playback/ArFramePlayback.cpp index 59f2cd3..26d7601 100644 --- a/openVulkanoCpp/AR/Provider/Playback/ArFramePlayback.cpp +++ b/openVulkanoCpp/AR/Provider/Playback/ArFramePlayback.cpp @@ -14,8 +14,8 @@ namespace OpenVulkano::AR::Playback : ArFrame(session, frameReader.GetNextFrameId()) { //BlockProfiler profile("Read_AR_Frame"); - const auto data = frameReader.ReadMetadata(); - frameMetadata = ArFrameMetadata::FromXML(data.Data(), data.Size()); + const Array data = frameReader.ReadMetadata(); + frameMetadata = ArFrameMetadata::FromContent(data.Data(), data.Size()); if (session->GetCapabilities().IsDepthSupported()) { auto depth = frameReader.ReadDepthImage();