-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMEIToAVI.hpp
42 lines (32 loc) · 973 Bytes
/
MEIToAVI.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef ML_MEITOAVi_HPP
#define ML_MEITOAVi_HPP
#include "CacheStorage.hpp"
#include "RIFF/RIFFRoot.hpp"
#include "Source/SourceBase.hpp"
#include <memory>
#include <string>
#include <sakuraglx/sakuraglx.h>
#include <sakuragl/sgl_erisa_lib.h>
class MEIToAVI {
public:
static constexpr unsigned int NoMessage = 0x0001;
static constexpr unsigned int NoAudio = 0x0002;
static constexpr unsigned int NoAlpha = 0x0004;
static constexpr unsigned int NoApproxFPS = 0x0008;
struct Options {
unsigned int flags;
std::size_t cacheStorageSize;
std::size_t cacheStorageLimit;
std::uint_fast32_t audioBlockSamples;
std::uint_fast32_t junkChunkSize;
};
private:
CacheStorage mCacheStorage;
std::unique_ptr<SSystem::SFileInterface> mFile;
ERISA::SGLMovieFilePlayer mMovieFilePlayer;
std::shared_ptr<SourceBase> mAvi;
public:
MEIToAVI(const std::wstring& filePath, const Options& options);
SourceBase& GetSource();
};
#endif