diff --git a/cmake/compile_definitions/common.cmake b/cmake/compile_definitions/common.cmake index b5239118..b3e84b3e 100644 --- a/cmake/compile_definitions/common.cmake +++ b/cmake/compile_definitions/common.cmake @@ -45,6 +45,8 @@ set(SUNSHINE_TARGET_FILES "${CMAKE_SOURCE_DIR}/src/uuid.h" "${CMAKE_SOURCE_DIR}/src/config.h" "${CMAKE_SOURCE_DIR}/src/config.cpp" + "${CMAKE_SOURCE_DIR}/src/logging.cpp" + "${CMAKE_SOURCE_DIR}/src/logging.h" "${CMAKE_SOURCE_DIR}/src/main.cpp" "${CMAKE_SOURCE_DIR}/src/main.h" "${CMAKE_SOURCE_DIR}/src/crypto.cpp" diff --git a/docs/source/source_code/src/logging.rst b/docs/source/source_code/src/logging.rst new file mode 100644 index 00000000..6b037c20 --- /dev/null +++ b/docs/source/source_code/src/logging.rst @@ -0,0 +1,5 @@ +logging +======= + +.. doxygenfile:: logging.h + :allow-dot-graphs: diff --git a/src/audio.cpp b/src/audio.cpp index 44791122..a3555eaa 100644 --- a/src/audio.cpp +++ b/src/audio.cpp @@ -10,6 +10,7 @@ #include "audio.h" #include "config.h" +#include "logging.h" #include "main.h" #include "thread_safe.h" #include "utility.h" diff --git a/src/cbs.cpp b/src/cbs.cpp index c06b7c4a..a2ba6f25 100644 --- a/src/cbs.cpp +++ b/src/cbs.cpp @@ -11,7 +11,7 @@ extern "C" { } #include "cbs.h" -#include "main.h" +#include "logging.h" #include "utility.h" using namespace std::literals; diff --git a/src/config.cpp b/src/config.cpp index 2bdc0e4e..9560c7ce 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -15,6 +15,7 @@ #include #include "config.h" +#include "logging.h" #include "main.h" #include "nvhttp.h" #include "rtsp.h" diff --git a/src/confighttp.cpp b/src/confighttp.cpp index 2c7d3b21..45062254 100644 --- a/src/confighttp.cpp +++ b/src/confighttp.cpp @@ -30,6 +30,7 @@ #include "confighttp.h" #include "crypto.h" #include "httpcommon.h" +#include "logging.h" #include "main.h" #include "network.h" #include "nvhttp.h" diff --git a/src/httpcommon.cpp b/src/httpcommon.cpp index b6ea0958..849fd81a 100644 --- a/src/httpcommon.cpp +++ b/src/httpcommon.cpp @@ -22,6 +22,7 @@ #include "config.h" #include "crypto.h" #include "httpcommon.h" +#include "logging.h" #include "main.h" #include "network.h" #include "nvhttp.h" diff --git a/src/input.cpp b/src/input.cpp index 63c10d8b..b7416fff 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -18,6 +18,7 @@ extern "C" { #include "config.h" #include "input.h" +#include "logging.h" #include "main.h" #include "platform/common.h" #include "thread_pool.h" diff --git a/src/logging.cpp b/src/logging.cpp new file mode 100644 index 00000000..70a2ae82 --- /dev/null +++ b/src/logging.cpp @@ -0,0 +1,73 @@ +/** + * @file src/logging.cpp + * @brief Logging implementation file for the Sunshine application. + */ + +// standard includes +#include + +// lib includes +#include +#include +#include +#include +#include + +// local includes +#include "logging.h" + +using namespace std::literals; + +namespace bl = boost::log; + +boost::shared_ptr> sink; + +bl::sources::severity_logger verbose(0); // Dominating output +bl::sources::severity_logger debug(1); // Follow what is happening +bl::sources::severity_logger info(2); // Should be informed about +bl::sources::severity_logger warning(3); // Strange events +bl::sources::severity_logger error(4); // Recoverable errors +bl::sources::severity_logger fatal(5); // Unrecoverable errors + +/** + * @brief Flush the log. + * + * EXAMPLES: + * ```cpp + * log_flush(); + * ``` + */ +void +log_flush() { + sink->flush(); +} + +/** + * @brief Print help to stdout. + * @param name The name of the program. + * + * EXAMPLES: + * ```cpp + * print_help("sunshine"); + * ``` + */ +void +print_help(const char *name) { + std::cout + << "Usage: "sv << name << " [options] [/path/to/configuration_file] [--cmd]"sv << std::endl + << " Any configurable option can be overwritten with: \"name=value\""sv << std::endl + << std::endl + << " Note: The configuration will be created if it doesn't exist."sv << std::endl + << std::endl + << " --help | print help"sv << std::endl + << " --creds username password | set user credentials for the Web manager"sv << std::endl + << " --version | print the version of sunshine"sv << std::endl + << std::endl + << " flags"sv << std::endl + << " -0 | Read PIN from stdin"sv << std::endl + << " -1 | Do not load previously saved state and do retain any state after shutdown"sv << std::endl + << " | Effectively starting as if for the first time without overwriting any pairings with your devices"sv << std::endl + << " -2 | Force replacement of headers in video stream"sv << std::endl + << " -p | Enable/Disable UPnP"sv << std::endl + << std::endl; +} diff --git a/src/logging.h b/src/logging.h new file mode 100644 index 00000000..47a08555 --- /dev/null +++ b/src/logging.h @@ -0,0 +1,27 @@ +/** + * @file src/logging.h + * @brief Logging header file for the Sunshine application. + */ + +// macros +#pragma once + +// lib includes +#include +#include + +extern boost::shared_ptr> sink; +using text_sink = boost::log::sinks::asynchronous_sink; + +extern boost::log::sources::severity_logger verbose; +extern boost::log::sources::severity_logger debug; +extern boost::log::sources::severity_logger info; +extern boost::log::sources::severity_logger warning; +extern boost::log::sources::severity_logger error; +extern boost::log::sources::severity_logger fatal; + +// functions +void +log_flush(); +void +print_help(const char *name); diff --git a/src/main.cpp b/src/main.cpp index 45febf70..e1a00731 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -21,6 +21,7 @@ #include "config.h" #include "confighttp.h" #include "httpcommon.h" +#include "logging.h" #include "main.h" #include "nvhttp.h" #include "platform/common.h" @@ -52,18 +53,9 @@ nvprefs::nvprefs_interface nvprefs_instance; #endif thread_pool_util::ThreadPool task_pool; -bl::sources::severity_logger verbose(0); // Dominating output -bl::sources::severity_logger debug(1); // Follow what is happening -bl::sources::severity_logger info(2); // Should be informed about -bl::sources::severity_logger warning(3); // Strange events -bl::sources::severity_logger error(4); // Recoverable errors -bl::sources::severity_logger fatal(5); // Unrecoverable errors bool display_cursor = true; -using text_sink = bl::sinks::asynchronous_sink; -boost::shared_ptr sink; - struct NoDelete { void operator()(void *) {} @@ -71,36 +63,6 @@ struct NoDelete { BOOST_LOG_ATTRIBUTE_KEYWORD(severity, "Severity", int) -/** - * @brief Print help to stdout. - * @param name The name of the program. - * - * EXAMPLES: - * ```cpp - * print_help("sunshine"); - * ``` - */ -void -print_help(const char *name) { - std::cout - << "Usage: "sv << name << " [options] [/path/to/configuration_file] [--cmd]"sv << std::endl - << " Any configurable option can be overwritten with: \"name=value\""sv << std::endl - << std::endl - << " Note: The configuration will be created if it doesn't exist."sv << std::endl - << std::endl - << " --help | print help"sv << std::endl - << " --creds username password | set user credentials for the Web manager"sv << std::endl - << " --version | print the version of sunshine"sv << std::endl - << std::endl - << " flags"sv << std::endl - << " -0 | Read PIN from stdin"sv << std::endl - << " -1 | Do not load previously saved state and do retain any state after shutdown"sv << std::endl - << " | Effectively starting as if for the first time without overwriting any pairings with your devices"sv << std::endl - << " -2 | Force replacement of headers in video stream"sv << std::endl - << " -p | Enable/Disable UPnP"sv << std::endl - << std::endl; -} - namespace help { int entry(const char *name, int argc, char *argv[]) { @@ -404,19 +366,6 @@ launch_ui_with_path(std::string path) { platf::open_url(url); } -/** - * @brief Flush the log. - * - * EXAMPLES: - * ```cpp - * log_flush(); - * ``` - */ -void -log_flush() { - sink->flush(); -} - std::map> signal_handlers; void on_signal_forwarder(int sig) { @@ -488,6 +437,9 @@ SessionMonitorWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { */ int main(int argc, char *argv[]) { + // the version should be printed to the log before anything else + BOOST_LOG(info) << PROJECT_NAME << " version: " << PROJECT_VER; + lifetime::argv = argv; task_pool_util::TaskPool::task_id_t force_shutdown = nullptr; @@ -689,7 +641,6 @@ main(int argc, char *argv[]) { #endif - BOOST_LOG(info) << PROJECT_NAME << " version: " << PROJECT_VER << std::endl; task_pool.start(1); #if defined SUNSHINE_TRAY && SUNSHINE_TRAY >= 1 diff --git a/src/main.h b/src/main.h index 8eb3e7ee..0114586d 100644 --- a/src/main.h +++ b/src/main.h @@ -10,9 +10,6 @@ #include #include -// lib includes -#include - // local includes #include "thread_pool.h" #include "thread_safe.h" @@ -26,20 +23,9 @@ extern nvprefs::nvprefs_interface nvprefs_instance; extern thread_pool_util::ThreadPool task_pool; extern bool display_cursor; -extern boost::log::sources::severity_logger verbose; -extern boost::log::sources::severity_logger debug; -extern boost::log::sources::severity_logger info; -extern boost::log::sources::severity_logger warning; -extern boost::log::sources::severity_logger error; -extern boost::log::sources::severity_logger fatal; - // functions int main(int argc, char *argv[]); -void -log_flush(); -void -print_help(const char *name); std::string read_file(const char *path); int diff --git a/src/nvenc/nvenc_base.cpp b/src/nvenc/nvenc_base.cpp index 205a163d..63107324 100644 --- a/src/nvenc/nvenc_base.cpp +++ b/src/nvenc/nvenc_base.cpp @@ -1,6 +1,7 @@ #include "nvenc_base.h" #include "src/config.h" +#include "src/logging.h" #include "src/utility.h" namespace { diff --git a/src/nvenc/nvenc_d3d11.cpp b/src/nvenc/nvenc_d3d11.cpp index e86d2268..7db6fdd2 100644 --- a/src/nvenc/nvenc_d3d11.cpp +++ b/src/nvenc/nvenc_d3d11.cpp @@ -1,3 +1,5 @@ +#include "src/logging.h" + #ifdef _WIN32 #include "nvenc_d3d11.h" diff --git a/src/nvenc/nvenc_utils.cpp b/src/nvenc/nvenc_utils.cpp index 261e9096..1b8b7ec9 100644 --- a/src/nvenc/nvenc_utils.cpp +++ b/src/nvenc/nvenc_utils.cpp @@ -1,3 +1,5 @@ +#include + #include "nvenc_utils.h" namespace nvenc { diff --git a/src/nvhttp.cpp b/src/nvhttp.cpp index 66de7a71..04cfd5b3 100644 --- a/src/nvhttp.cpp +++ b/src/nvhttp.cpp @@ -23,6 +23,7 @@ #include "config.h" #include "crypto.h" #include "httpcommon.h" +#include "logging.h" #include "main.h" #include "network.h" #include "nvhttp.h" diff --git a/src/platform/common.h b/src/platform/common.h index 5056db8a..7a4102ad 100644 --- a/src/platform/common.h +++ b/src/platform/common.h @@ -10,7 +10,7 @@ #include #include -#include "src/main.h" +#include "src/logging.h" #include "src/thread_safe.h" #include "src/utility.h" #include "src/video_colorspace.h" diff --git a/src/platform/linux/audio.cpp b/src/platform/linux/audio.cpp index e31f539f..577287b7 100644 --- a/src/platform/linux/audio.cpp +++ b/src/platform/linux/audio.cpp @@ -14,6 +14,7 @@ #include "src/platform/common.h" #include "src/config.h" +#include "src/logging.h" #include "src/main.h" #include "src/thread_safe.h" diff --git a/src/platform/linux/cuda.cpp b/src/platform/linux/cuda.cpp index 0f1d6413..856fecc6 100644 --- a/src/platform/linux/cuda.cpp +++ b/src/platform/linux/cuda.cpp @@ -19,6 +19,7 @@ extern "C" { #include "cuda.h" #include "graphics.h" +#include "src/logging.h" #include "src/main.h" #include "src/utility.h" #include "src/video.h" diff --git a/src/platform/linux/graphics.cpp b/src/platform/linux/graphics.cpp index e53483a9..ce0359a9 100644 --- a/src/platform/linux/graphics.cpp +++ b/src/platform/linux/graphics.cpp @@ -3,6 +3,8 @@ * @brief todo */ #include "graphics.h" +#include "src/logging.h" +#include "src/main.h" #include "src/video.h" #include diff --git a/src/platform/linux/graphics.h b/src/platform/linux/graphics.h index d2759f7d..a45b26fd 100644 --- a/src/platform/linux/graphics.h +++ b/src/platform/linux/graphics.h @@ -11,7 +11,7 @@ #include #include "misc.h" -#include "src/main.h" +#include "src/logging.h" #include "src/platform/common.h" #include "src/utility.h" #include "src/video_colorspace.h" diff --git a/src/platform/linux/input.cpp b/src/platform/linux/input.cpp index c62608ce..43433e58 100644 --- a/src/platform/linux/input.cpp +++ b/src/platform/linux/input.cpp @@ -23,6 +23,7 @@ #include "src/config.h" #include "src/input.h" +#include "src/logging.h" #include "src/main.h" #include "src/platform/common.h" #include "src/utility.h" diff --git a/src/platform/linux/kmsgrab.cpp b/src/platform/linux/kmsgrab.cpp index c146f866..a18fc31a 100644 --- a/src/platform/linux/kmsgrab.cpp +++ b/src/platform/linux/kmsgrab.cpp @@ -14,6 +14,7 @@ #include +#include "src/logging.h" #include "src/main.h" #include "src/platform/common.h" #include "src/round_robin.h" diff --git a/src/platform/linux/misc.cpp b/src/platform/linux/misc.cpp index 2c6ba163..8ead76b0 100644 --- a/src/platform/linux/misc.cpp +++ b/src/platform/linux/misc.cpp @@ -26,6 +26,7 @@ #include "graphics.h" #include "misc.h" #include "src/config.h" +#include "src/logging.h" #include "src/main.h" #include "src/platform/common.h" #include "vaapi.h" diff --git a/src/platform/linux/publish.cpp b/src/platform/linux/publish.cpp index e83bfb70..f78b7d9d 100644 --- a/src/platform/linux/publish.cpp +++ b/src/platform/linux/publish.cpp @@ -7,6 +7,7 @@ #include #include "misc.h" +#include "src/logging.h" #include "src/main.h" #include "src/nvhttp.h" #include "src/platform/common.h" diff --git a/src/platform/linux/vaapi.cpp b/src/platform/linux/vaapi.cpp index 9cb7806b..9f1d3f32 100644 --- a/src/platform/linux/vaapi.cpp +++ b/src/platform/linux/vaapi.cpp @@ -26,7 +26,7 @@ vaSyncBuffer( #include "graphics.h" #include "misc.h" #include "src/config.h" -#include "src/main.h" +#include "src/logging.h" #include "src/platform/common.h" #include "src/utility.h" #include "src/video.h" diff --git a/src/platform/linux/wayland.cpp b/src/platform/linux/wayland.cpp index b762492b..8dcd22c3 100644 --- a/src/platform/linux/wayland.cpp +++ b/src/platform/linux/wayland.cpp @@ -9,7 +9,7 @@ #include #include "graphics.h" -#include "src/main.h" +#include "src/logging.h" #include "src/platform/common.h" #include "src/round_robin.h" #include "src/utility.h" diff --git a/src/platform/linux/wlgrab.cpp b/src/platform/linux/wlgrab.cpp index 23066773..6acde691 100644 --- a/src/platform/linux/wlgrab.cpp +++ b/src/platform/linux/wlgrab.cpp @@ -4,6 +4,7 @@ */ #include "src/platform/common.h" +#include "src/logging.h" #include "src/main.h" #include "src/video.h" diff --git a/src/platform/linux/x11grab.cpp b/src/platform/linux/x11grab.cpp index 5cdf2d63..0c158300 100644 --- a/src/platform/linux/x11grab.cpp +++ b/src/platform/linux/x11grab.cpp @@ -17,6 +17,7 @@ #include #include "src/config.h" +#include "src/logging.h" #include "src/main.h" #include "src/task_pool.h" #include "src/video.h" diff --git a/src/platform/macos/display.mm b/src/platform/macos/display.mm index a9f6bf40..6d757176 100644 --- a/src/platform/macos/display.mm +++ b/src/platform/macos/display.mm @@ -8,6 +8,7 @@ #include "src/platform/macos/nv12_zero_device.h" #include "src/config.h" +#include "src/logging.h" // Avoid conflict between AVFoundation and libavutil both defining AVMediaType #define AVMediaType AVMediaType_FFmpeg diff --git a/src/platform/macos/input.cpp b/src/platform/macos/input.cpp index 36484054..2aa6012e 100644 --- a/src/platform/macos/input.cpp +++ b/src/platform/macos/input.cpp @@ -6,7 +6,7 @@ #include #include -#include "src/main.h" +#include "src/logging.h" #include "src/platform/common.h" #include "src/utility.h" diff --git a/src/platform/macos/microphone.mm b/src/platform/macos/microphone.mm index 1baf5260..836f134a 100644 --- a/src/platform/macos/microphone.mm +++ b/src/platform/macos/microphone.mm @@ -6,6 +6,7 @@ #include "src/platform/macos/av_audio.h" #include "src/config.h" +#include "src/logging.h" namespace platf { using namespace std::literals; diff --git a/src/platform/macos/misc.mm b/src/platform/macos/misc.mm index 76e50349..0a8bf1b7 100644 --- a/src/platform/macos/misc.mm +++ b/src/platform/macos/misc.mm @@ -18,6 +18,7 @@ #include #include "misc.h" +#include "src/logging.h" #include "src/main.h" #include "src/platform/common.h" diff --git a/src/platform/macos/publish.cpp b/src/platform/macos/publish.cpp index 55dec40a..51dd0cd2 100644 --- a/src/platform/macos/publish.cpp +++ b/src/platform/macos/publish.cpp @@ -7,6 +7,7 @@ #include #include "misc.h" +#include "src/logging.h" #include "src/main.h" #include "src/nvhttp.h" #include "src/platform/common.h" diff --git a/src/platform/windows/audio.cpp b/src/platform/windows/audio.cpp index 1311a694..296112e1 100644 --- a/src/platform/windows/audio.cpp +++ b/src/platform/windows/audio.cpp @@ -16,7 +16,7 @@ #include #include "src/config.h" -#include "src/main.h" +#include "src/logging.h" #include "src/platform/common.h" // Must be the last included file diff --git a/src/platform/windows/display_base.cpp b/src/platform/windows/display_base.cpp index 95e58b59..3ae6e337 100644 --- a/src/platform/windows/display_base.cpp +++ b/src/platform/windows/display_base.cpp @@ -15,6 +15,7 @@ typedef long NTSTATUS; #include "display.h" #include "misc.h" #include "src/config.h" +#include "src/logging.h" #include "src/main.h" #include "src/platform/common.h" #include "src/stat_trackers.h" diff --git a/src/platform/windows/display_ram.cpp b/src/platform/windows/display_ram.cpp index ad078d12..cbe37edf 100644 --- a/src/platform/windows/display_ram.cpp +++ b/src/platform/windows/display_ram.cpp @@ -5,7 +5,7 @@ #include "display.h" #include "misc.h" -#include "src/main.h" +#include "src/logging.h" namespace platf { using namespace std::literals; diff --git a/src/platform/windows/display_vram.cpp b/src/platform/windows/display_vram.cpp index 71310c90..74b0bab7 100644 --- a/src/platform/windows/display_vram.cpp +++ b/src/platform/windows/display_vram.cpp @@ -17,7 +17,7 @@ extern "C" { #include "display.h" #include "misc.h" #include "src/config.h" -#include "src/main.h" +#include "src/logging.h" #include "src/nvenc/nvenc_config.h" #include "src/nvenc/nvenc_d3d11.h" #include "src/nvenc/nvenc_utils.h" diff --git a/src/platform/windows/input.cpp b/src/platform/windows/input.cpp index 65d89c0e..144dac19 100644 --- a/src/platform/windows/input.cpp +++ b/src/platform/windows/input.cpp @@ -12,6 +12,7 @@ #include "keylayout.h" #include "misc.h" #include "src/config.h" +#include "src/logging.h" #include "src/main.h" #include "src/platform/common.h" diff --git a/src/platform/windows/misc.cpp b/src/platform/windows/misc.cpp index ec573554..4decb8e4 100644 --- a/src/platform/windows/misc.cpp +++ b/src/platform/windows/misc.cpp @@ -29,6 +29,7 @@ #include // clang-format on +#include "src/logging.h" #include "src/main.h" #include "src/platform/common.h" #include "src/utility.h" diff --git a/src/platform/windows/nvprefs/nvprefs_common.cpp b/src/platform/windows/nvprefs/nvprefs_common.cpp index f6acb6c5..367cfc89 100644 --- a/src/platform/windows/nvprefs/nvprefs_common.cpp +++ b/src/platform/windows/nvprefs/nvprefs_common.cpp @@ -1,6 +1,6 @@ // local includes #include "nvprefs_common.h" -#include "src/main.h" // sunshine boost::log severity levels +#include "src/logging.h" // read user override preferences from global sunshine config #include "src/config.h" diff --git a/src/platform/windows/nvprefs/nvprefs_interface.cpp b/src/platform/windows/nvprefs/nvprefs_interface.cpp index ea8fa6c5..628248ad 100644 --- a/src/platform/windows/nvprefs/nvprefs_interface.cpp +++ b/src/platform/windows/nvprefs/nvprefs_interface.cpp @@ -1,7 +1,9 @@ +// standard includes +#include + // local includes -#include "nvprefs_interface.h" #include "driver_settings.h" -#include "src/main.h" // main include for assert +#include "nvprefs_interface.h" #include "undo_file.h" namespace { diff --git a/src/platform/windows/publish.cpp b/src/platform/windows/publish.cpp index 30aa30e2..4ba17ab9 100644 --- a/src/platform/windows/publish.cpp +++ b/src/platform/windows/publish.cpp @@ -13,6 +13,7 @@ #include "misc.h" #include "src/config.h" +#include "src/logging.h" #include "src/main.h" #include "src/network.h" #include "src/nvhttp.h" diff --git a/src/process.cpp b/src/process.cpp index 050c58ee..c01c60d1 100644 --- a/src/process.cpp +++ b/src/process.cpp @@ -22,6 +22,7 @@ #include "config.h" #include "crypto.h" +#include "logging.h" #include "main.h" #include "platform/common.h" #include "system_tray.h" diff --git a/src/rtsp.cpp b/src/rtsp.cpp index 5b545428..6276753a 100644 --- a/src/rtsp.cpp +++ b/src/rtsp.cpp @@ -17,6 +17,7 @@ extern "C" { #include "config.h" #include "input.h" +#include "logging.h" #include "main.h" #include "network.h" #include "rtsp.h" diff --git a/src/stream.cpp b/src/stream.cpp index b00de23e..8db8374b 100644 --- a/src/stream.cpp +++ b/src/stream.cpp @@ -19,6 +19,7 @@ extern "C" { #include "config.h" #include "input.h" +#include "logging.h" #include "main.h" #include "network.h" #include "stat_trackers.h" diff --git a/src/system_tray.cpp b/src/system_tray.cpp index 189e58d2..621ace0c 100644 --- a/src/system_tray.cpp +++ b/src/system_tray.cpp @@ -37,6 +37,7 @@ // local includes #include "confighttp.h" + #include "logging.h" #include "main.h" #include "platform/common.h" #include "process.h" diff --git a/src/upnp.cpp b/src/upnp.cpp index 7a296a8b..91a5ad85 100644 --- a/src/upnp.cpp +++ b/src/upnp.cpp @@ -7,6 +7,7 @@ #include "config.h" #include "confighttp.h" +#include "logging.h" #include "main.h" #include "network.h" #include "nvhttp.h" diff --git a/src/video.cpp b/src/video.cpp index 1914faaa..e0132498 100644 --- a/src/video.cpp +++ b/src/video.cpp @@ -20,6 +20,7 @@ extern "C" { #include "cbs.h" #include "config.h" #include "input.h" +#include "logging.h" #include "main.h" #include "nvenc/nvenc_base.h" #include "platform/common.h" diff --git a/src/video_colorspace.cpp b/src/video_colorspace.cpp index ca5e489b..4f5955ee 100644 --- a/src/video_colorspace.cpp +++ b/src/video_colorspace.cpp @@ -1,6 +1,6 @@ #include "video_colorspace.h" -#include "main.h" +#include "logging.h" #include "video.h" extern "C" {