From 1522009cbacbddbf1d5bad35d6e98063e650f403 Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Tue, 18 Feb 2025 20:56:04 +0100 Subject: [PATCH] Expose internal ar playback reader --- openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.cpp | 2 +- openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp | 2 ++ openVulkanoCpp/AR/Provider/Playback/ArSessionPlayback.hpp | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.cpp b/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.cpp index f41c434..b99b168 100644 --- a/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.cpp +++ b/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.cpp @@ -18,7 +18,7 @@ namespace OpenVulkano::AR::Playback void ArPlaybackReader::ReadColorImage(ColorImg& img) { //BlockProfiler profiler("Load jpeg"); - auto file = m_archiveColor.GetNextFile(); + std::optional>> file = ReadColorImageRaw(); long unsigned int jpegSize = file->second.Size(); unsigned char* compressedImage = reinterpret_cast(file->second.Data()); diff --git a/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp b/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp index 89b6228..a84a839 100644 --- a/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp +++ b/openVulkanoCpp/AR/Provider/Playback/ArPlaybackReader.hpp @@ -75,6 +75,8 @@ namespace OpenVulkano::AR::Playback return img; } + std::optional>> ReadColorImageRaw() { return m_archiveColor.GetNextFile(); } + void ReadColorImage(ColorImg& img); DepthImage ReadDepthImage() diff --git a/openVulkanoCpp/AR/Provider/Playback/ArSessionPlayback.hpp b/openVulkanoCpp/AR/Provider/Playback/ArSessionPlayback.hpp index 3621030..aa54bdb 100644 --- a/openVulkanoCpp/AR/Provider/Playback/ArSessionPlayback.hpp +++ b/openVulkanoCpp/AR/Provider/Playback/ArSessionPlayback.hpp @@ -12,7 +12,7 @@ namespace OpenVulkano::AR::Playback { -class ArSessionPlayback final : public ArSession, public std::enable_shared_from_this + class ArSessionPlayback final : public ArSession, public std::enable_shared_from_this { public: [[deprecated]] ArSessionPlayback(const std::string& recordingPath, bool autoAdvance, bool loadImages, bool loadDepth); @@ -36,6 +36,8 @@ class ArSessionPlayback final : public ArSession, public std::enable_shared_from [[nodiscard]] bool IsLoadColorEnabled() const { return loadImages; } [[nodiscard]] bool IsLoadDepthEnabled() const { return loadDepth; } + [[nodiscard]] const ArPlaybackReader& GetInternalReader() const { return playbackReader; } + void SetRenderer(IRenderer* renderer) override; Event OnPlaybackProgress;