Files
android_multiviewwer/app/src/main/cpp/Preloader.h
T

25 lines
535 B
C++
Raw Normal View History

2025-08-27 15:09:05 +09:00
#pragma once
#include "MediaAsset.h"
#include <string>
#include <mutex>
#include <atomic>
#include <thread>
class Preloader {
public:
Preloader();
~Preloader();
void startNextPreload(int fd);
bool isPreloadedDataReady() const;
bool hasPreloadFailed() const;
MediaAsset swapAndRelease();
void setPreloadedMedia(MediaAsset&& media);
void releasePreloadedData();
private:
std::mutex preloadMutex_;
MediaAsset nextMedia_;
std::atomic<bool> dataReady_;
std::atomic<bool> preloadFailed_;
};