Fix builds with FFMPEG disabled
This commit is contained in:
parent
4422af1272
commit
628af9d564
|
@ -10,8 +10,26 @@
|
||||||
|
|
||||||
struct FrameDumpContext;
|
struct FrameDumpContext;
|
||||||
class PointerWrap;
|
class PointerWrap;
|
||||||
struct FrameData;
|
|
||||||
struct FrameState;
|
// Holds relevant emulation state during a rendered frame for
|
||||||
|
// when it is later asynchronously written.
|
||||||
|
struct FrameState
|
||||||
|
{
|
||||||
|
u64 ticks = 0;
|
||||||
|
int frame_number = 0;
|
||||||
|
u32 savestate_index = 0;
|
||||||
|
int refresh_rate_num = 0;
|
||||||
|
int refresh_rate_den = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct FrameData
|
||||||
|
{
|
||||||
|
const u8* data = nullptr;
|
||||||
|
int width = 0;
|
||||||
|
int height = 0;
|
||||||
|
int stride = 0;
|
||||||
|
FrameState state;
|
||||||
|
};
|
||||||
|
|
||||||
class FFMpegFrameDump
|
class FFMpegFrameDump
|
||||||
{
|
{
|
||||||
|
@ -47,10 +65,10 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
#if !defined(HAVE_FFMPEG)
|
#if !defined(HAVE_FFMPEG)
|
||||||
inline FrameDump::FrameDump() = default;
|
inline FFMpegFrameDump::FFMpegFrameDump() = default;
|
||||||
inline FrameDump::~FrameDump() = default;
|
inline FFMpegFrameDump::~FFMpegFrameDump() = default;
|
||||||
|
|
||||||
inline FrameState FrameDump::FetchState(u64 ticks, int frame_number) const
|
inline FrameState FFMpegFrameDump::FetchState(u64 ticks, int frame_number) const
|
||||||
{
|
{
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -288,16 +288,16 @@ void FrameDumper::StopFrameDumpToFFMPEG()
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
bool FrameDump::StartFrameDumpToFFMPEG(const FrameData&)
|
bool FrameDumper::StartFrameDumpToFFMPEG(const FrameData&)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FrameDump::DumpFrameToFFMPEG(const FrameData&)
|
void FrameDumper::DumpFrameToFFMPEG(const FrameData&)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void FrameDump::StopFrameDumpToFFMPEG()
|
void FrameDumper::StopFrameDumpToFFMPEG()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -352,4 +352,10 @@ bool FrameDumper::IsFrameDumping() const
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FrameDumper::DoState(PointerWrap& p)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_FFMPEG
|
||||||
|
m_ffmpeg_dump.DoState(p);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
std::unique_ptr<FrameDumper> g_frame_dumper;
|
std::unique_ptr<FrameDumper> g_frame_dumper;
|
||||||
|
|
|
@ -16,26 +16,6 @@ class AbstractStagingTexture;
|
||||||
class AbstractTexture;
|
class AbstractTexture;
|
||||||
class AbstractFramebuffer;
|
class AbstractFramebuffer;
|
||||||
|
|
||||||
// Holds relevant emulation state during a rendered frame for
|
|
||||||
// when it is later asynchronously written.
|
|
||||||
struct FrameState
|
|
||||||
{
|
|
||||||
u64 ticks = 0;
|
|
||||||
int frame_number = 0;
|
|
||||||
u32 savestate_index = 0;
|
|
||||||
int refresh_rate_num = 0;
|
|
||||||
int refresh_rate_den = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct FrameData
|
|
||||||
{
|
|
||||||
const u8* data = nullptr;
|
|
||||||
int width = 0;
|
|
||||||
int height = 0;
|
|
||||||
int stride = 0;
|
|
||||||
FrameState state;
|
|
||||||
};
|
|
||||||
|
|
||||||
class FrameDumper
|
class FrameDumper
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -54,7 +34,7 @@ public:
|
||||||
|
|
||||||
bool IsFrameDumping() const;
|
bool IsFrameDumping() const;
|
||||||
|
|
||||||
void DoState(PointerWrap& p) { m_ffmpeg_dump.DoState(p); }
|
void DoState(PointerWrap& p);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// NOTE: The methods below are called on the framedumping thread.
|
// NOTE: The methods below are called on the framedumping thread.
|
||||||
|
|
Loading…
Reference in New Issue