diff --git a/source/nvidia/cv/nvidia-cv.cpp b/source/nvidia/cv/nvidia-cv.cpp index d54a503..c8cb550 100644 --- a/source/nvidia/cv/nvidia-cv.cpp +++ b/source/nvidia/cv/nvidia-cv.cpp @@ -89,7 +89,7 @@ streamfx::nvidia::cv::cv::cv() if (env_size > 0) { buffer.resize(static_cast(env_size) + 1); env_size = GetEnvironmentVariableW(ST_ENV_NVIDIA_VIDEO_EFFECTS_SDK_PATH, buffer.data(), - static_cast(buffer.size())); + static_cast(buffer.size())); vfx_sdk_path = std::wstring(buffer.data(), buffer.size()); } else { PWSTR str = nullptr; diff --git a/source/nvidia/cv/nvidia-cv.hpp b/source/nvidia/cv/nvidia-cv.hpp index 2910bcf..90fb503 100644 --- a/source/nvidia/cv/nvidia-cv.hpp +++ b/source/nvidia/cv/nvidia-cv.hpp @@ -284,6 +284,25 @@ namespace streamfx::nvidia::cv { public: static std::shared_ptr<::streamfx::nvidia::cv::cv> get(); }; + + class exception : std::runtime_error { + result _code; + + public: + exception(const char* what, result code) : std::runtime_error(what), _code(code) {} + exception(const std::string& what, result code) : std::runtime_error(what), _code(code) {} + ~exception(){}; + + inline result code() + { + return _code; + } + + inline const char* description() + { + return ::streamfx::nvidia::cv::cv::get()->NvCV_GetErrorStringFromCode(_code); + } + }; } // namespace streamfx::nvidia::cv P_ENABLE_BITMASK_OPERATORS(::streamfx::nvidia::cv::color_information);