Files
TerracottaWarriors/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/Private/UnrealArchiveFileSource.h
2025-07-14 22:24:27 +08:00

26 lines
835 B
C++

// ------------------------------------------------
// Copyright Joe Marshall 2024- All Rights Reserved
// ------------------------------------------------
//
// Read files from Unreal archive
// ------------------------------------------------
#pragma once
#include "ICustomMediaFileSource.h"
#include "CoreMinimal.h"
class UnrealArchiveFileSource : public ICustomMediaFileSource
{
public:
explicit UnrealArchiveFileSource(const TSharedRef<FArchive, ESPMode::ThreadSafe> inArchive);
virtual ~UnrealArchiveFileSource() override {};
virtual int64_t getAvailableSize(uint64_t offset) override;
virtual int64_t getSize() override;
virtual int64_t readAt(uint64_t offset, void *buffer, uint64_t size) override;
private:
TSharedRef<FArchive, ESPMode::ThreadSafe> archive;
FCriticalSection threadLock;
};