Fix builds with FFMPEG disabled

This commit is contained in:
Scott Mansell 2023-01-31 19:15:09 +13:00
parent 4422af1272
commit 628af9d564
3 changed files with 33 additions and 29 deletions

View File

@ -10,8 +10,26 @@
struct FrameDumpContext;
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
{
@ -47,10 +65,10 @@ private:
};
#if !defined(HAVE_FFMPEG)
inline FrameDump::FrameDump() = default;
inline FrameDump::~FrameDump() = default;
inline FFMpegFrameDump::FFMpegFrameDump() = 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 {};
}

View File

@ -288,16 +288,16 @@ void FrameDumper::StopFrameDumpToFFMPEG()
#else
bool FrameDump::StartFrameDumpToFFMPEG(const FrameData&)
bool FrameDumper::StartFrameDumpToFFMPEG(const FrameData&)
{
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;
}
void FrameDumper::DoState(PointerWrap& p)
{
#ifdef HAVE_FFMPEG
m_ffmpeg_dump.DoState(p);
#endif
}
std::unique_ptr<FrameDumper> g_frame_dumper;

View File

@ -16,26 +16,6 @@ class AbstractStagingTexture;
class AbstractTexture;
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
{
public:
@ -54,7 +34,7 @@ public:
bool IsFrameDumping() const;
void DoState(PointerWrap& p) { m_ffmpeg_dump.DoState(p); }
void DoState(PointerWrap& p);
private:
// NOTE: The methods below are called on the framedumping thread.