mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
Merge pull request #10572 from AdmiralCurtiss/ffmpeg-log-va-list
VideoCommon/FrameDump: Fix log messages with arguments.
This commit is contained in:
commit
dcf27b91ba
@ -103,6 +103,9 @@ void GenericLog(LogLevel level, LogType type, const char* file, int line, const
|
||||
__attribute__((format(printf, 5, 6)))
|
||||
#endif
|
||||
;
|
||||
|
||||
void GenericLogV(LogLevel level, LogType type, const char* file, int line, const char* fmt,
|
||||
va_list args);
|
||||
} // namespace Common::Log
|
||||
|
||||
// Let the compiler optimize this out
|
||||
@ -139,6 +142,13 @@ void GenericLog(LogLevel level, LogType type, const char* file, int line, const
|
||||
GENERIC_LOG(Common::Log::LogType::t, Common::Log::LogLevel::LDEBUG, __VA_ARGS__); \
|
||||
} while (0)
|
||||
|
||||
#define GENERIC_LOG_V(t, v, fmt, args) \
|
||||
do \
|
||||
{ \
|
||||
if (v <= Common::Log::MAX_LOGLEVEL) \
|
||||
Common::Log::GenericLogV(v, t, __FILE__, __LINE__, fmt, args); \
|
||||
} while (0)
|
||||
|
||||
// fmtlib capable API
|
||||
|
||||
#define GENERIC_LOG_FMT(t, v, format, ...) \
|
||||
|
@ -80,6 +80,22 @@ void GenericLog(LogLevel level, LogType type, const char* file, int line, const
|
||||
instance->Log(level, type, file, line, message);
|
||||
}
|
||||
|
||||
void GenericLogV(LogLevel level, LogType type, const char* file, int line, const char* fmt,
|
||||
va_list args)
|
||||
{
|
||||
auto* instance = LogManager::GetInstance();
|
||||
if (instance == nullptr)
|
||||
return;
|
||||
|
||||
if (!instance->IsEnabled(type, level))
|
||||
return;
|
||||
|
||||
char message[MAX_MSGLEN];
|
||||
CharArrayFromFormatV(message, MAX_MSGLEN, fmt, args);
|
||||
|
||||
instance->Log(level, type, file, line, message);
|
||||
}
|
||||
|
||||
void GenericLogFmtImpl(LogLevel level, LogType type, const char* file, int line,
|
||||
fmt::string_view format, const fmt::format_args& args)
|
||||
{
|
||||
|
@ -94,7 +94,7 @@ void InitAVCodec()
|
||||
// keep libav debug messages visible in release build of dolphin
|
||||
log_level = Common::Log::LogLevel::LINFO;
|
||||
|
||||
GENERIC_LOG(Common::Log::LogType::FRAMEDUMP, log_level, fmt, vl);
|
||||
GENERIC_LOG_V(Common::Log::LogType::FRAMEDUMP, log_level, fmt, vl);
|
||||
});
|
||||
|
||||
// TODO: We never call avformat_network_deinit.
|
||||
|
Loading…
Reference in New Issue
Block a user