From 77764ccc1a6ddb0f72d1dd55a406aad2655d3b16 Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Thu, 2 May 2024 03:06:01 +0800 Subject: [PATCH 01/10] fix win api --- wiliwili/source/utils/crash_helper.cpp | 14 +++++++------- xmake.lua | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/wiliwili/source/utils/crash_helper.cpp b/wiliwili/source/utils/crash_helper.cpp index 4335aeae..17278c56 100644 --- a/wiliwili/source/utils/crash_helper.cpp +++ b/wiliwili/source/utils/crash_helper.cpp @@ -26,17 +26,17 @@ LONG WINAPI createMiniDump(_EXCEPTION_POINTERS* pep) { HMODULE dbghelp = ::LoadLibraryA("dbghelp.dll"); if (!dbghelp) return EXCEPTION_CONTINUE_SEARCH; - auto fnMiniDumpWriteDump = (WINBOOL(WINAPI*)(HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, + auto fnMiniDumpWriteDump = (BOOL(WINAPI*)(HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, CONST PMINIDUMP_EXCEPTION_INFORMATION, CONST PMINIDUMP_USER_STREAM_INFORMATION, CONST PMINIDUMP_CALLBACK_INFORMATION))::GetProcAddress(dbghelp, "MiniDumpWriteDump"); - auto fnSymInitialize = (WINBOOL(WINAPI*)(HANDLE, PCSTR, WINBOOL))::GetProcAddress(dbghelp, "SymInitialize"); - auto fnSymCleanup = (WINBOOL(WINAPI*)(HANDLE))::GetProcAddress(dbghelp, "SymCleanup"); + auto fnSymInitialize = (BOOL(WINAPI*)(HANDLE, PCSTR, BOOL))::GetProcAddress(dbghelp, "SymInitialize"); + auto fnSymCleanup = (BOOL(WINAPI*)(HANDLE))::GetProcAddress(dbghelp, "SymCleanup"); auto fnSymSetOptions = (DWORD(WINAPI*)(DWORD))::GetProcAddress(dbghelp, "SymSetOptions"); - auto fnStackWalk64 = (WINBOOL(WINAPI*)(DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID, PREAD_PROCESS_MEMORY_ROUTINE64, + auto fnStackWalk64 = (BOOL(WINAPI*)(DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID, PREAD_PROCESS_MEMORY_ROUTINE64, PFUNCTION_TABLE_ACCESS_ROUTINE64, PGET_MODULE_BASE_ROUTINE64, PTRANSLATE_ADDRESS_ROUTINE64))::GetProcAddress(dbghelp, "StackWalk64"); - auto fnSymGetSymFromAddr64 = (WINBOOL(WINAPI*)(HANDLE, DWORD64, PDWORD64, PIMAGEHLP_SYMBOL64))::GetProcAddress(dbghelp, "SymGetSymFromAddr64"); - auto fnSymGetLineFromAddr64 = (WINBOOL(WINAPI*)(HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINE64))::GetProcAddress(dbghelp, "SymGetLineFromAddr64"); - auto fnSymGetModuleInfo64 = (WINBOOL(WINAPI*)(HANDLE, DWORD64, PIMAGEHLP_MODULE64))::GetProcAddress(dbghelp, "SymGetModuleInfo64"); + auto fnSymGetSymFromAddr64 = (BOOL(WINAPI*)(HANDLE, DWORD64, PDWORD64, PIMAGEHLP_SYMBOL64))::GetProcAddress(dbghelp, "SymGetSymFromAddr64"); + auto fnSymGetLineFromAddr64 = (BOOL(WINAPI*)(HANDLE, DWORD64, PDWORD, PIMAGEHLP_LINE64))::GetProcAddress(dbghelp, "SymGetLineFromAddr64"); + auto fnSymGetModuleInfo64 = (BOOL(WINAPI*)(HANDLE, DWORD64, PIMAGEHLP_MODULE64))::GetProcAddress(dbghelp, "SymGetModuleInfo64"); auto fnSymFTA64 = (PFUNCTION_TABLE_ACCESS_ROUTINE64)::GetProcAddress(dbghelp, "SymFunctionTableAccess64"); auto fnSymGMB64 = (PGET_MODULE_BASE_ROUTINE64)::GetProcAddress(dbghelp, "SymGetModuleBase64"); diff --git a/xmake.lua b/xmake.lua index 96dd18ca..28f55b63 100644 --- a/xmake.lua +++ b/xmake.lua @@ -43,7 +43,7 @@ package("borealis") add_configs("winrt", {description = "use winrt api", default = false, type = "boolean"}) add_deps( "nanovg", - "yoga", + "yoga =2.0.1", "nlohmann_json", "fmt", "tweeny", @@ -53,7 +53,7 @@ package("borealis") add_includedirs("include") if is_plat("windows") then add_includedirs("include/compat") - add_syslinks("Wlanapi", "iphlpapi", "Ws2_32") + add_syslinks("wlanapi", "iphlpapi", "ws2_32") end on_load(function (package) local window = package:config("window") @@ -65,7 +65,7 @@ package("borealis") package:add("deps", "sdl2") end if driver == "opengl" then - package:add("deps", "glad") + package:add("deps", "glad =0.1.36") elseif driver == "d3d11" then package:add("syslinks", "d3d11") end From 2802072d915e026f4f0a0d5e8e1abc37e359dd5b Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Thu, 2 May 2024 18:52:54 +0800 Subject: [PATCH 02/10] Cancel the singleton mode of LiveDanmuku --- wiliwili/include/activity/live_player_activity.hpp | 3 +++ wiliwili/include/api/live/danmaku_live.hpp | 2 +- wiliwili/source/activity/live_player_activity.cpp | 9 ++++----- wiliwili/source/api/danmaku_live.cpp | 4 ++-- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/wiliwili/include/activity/live_player_activity.hpp b/wiliwili/include/activity/live_player_activity.hpp index 2d2dfdb2..8d1ded74 100644 --- a/wiliwili/include/activity/live_player_activity.hpp +++ b/wiliwili/include/activity/live_player_activity.hpp @@ -9,6 +9,7 @@ #include "utils/event_helper.hpp" #include "presenter/live_data.hpp" +#include "live/danmaku_live.hpp" class VideoView; @@ -49,6 +50,8 @@ class LiveActivity : public brls::Activity, public LiveDataRequest { // 遇到错误重试的延时函数 handle size_t errorDelayIter = 0; + LiveDanmaku danmaku; + bilibili::LiveVideoResult liveData; //更新timeLabel diff --git a/wiliwili/include/api/live/danmaku_live.hpp b/wiliwili/include/api/live/danmaku_live.hpp index 1915a361..332aef41 100644 --- a/wiliwili/include/api/live/danmaku_live.hpp +++ b/wiliwili/include/api/live/danmaku_live.hpp @@ -20,7 +20,7 @@ using json = nlohmann::json; typedef void (*on_message_func_t)(const std::string &); -class LiveDanmaku : public brls::Singleton { +class LiveDanmaku { public: int room_id; int uid; diff --git a/wiliwili/source/activity/live_player_activity.cpp b/wiliwili/source/activity/live_player_activity.cpp index 4527eace..e74f08d0 100644 --- a/wiliwili/source/activity/live_player_activity.cpp +++ b/wiliwili/source/activity/live_player_activity.cpp @@ -14,7 +14,6 @@ #include "utils/shader_helper.hpp" #include "utils/config_helper.hpp" -#include "live/danmaku_live.hpp" #include "live/extract_messages.hpp" #include "live/ws_utils.hpp" @@ -100,7 +99,7 @@ void LiveActivity::setCommonData() { MPVCore::instance().reset(); // 清空自定义着色器 - ShaderHelper::instance().clearShader(false); + // ShaderHelper::instance().clearShader(false); event_id = APP_E->subscribe([this](const std::string& event, void* data) { if (event == VideoView::QUALITY_CHANGE) { @@ -304,8 +303,8 @@ void LiveActivity::onLiveData(const bilibili::LiveRoomPlayInfo& result) { } void LiveActivity::onDanmakuInfo(int roomid, const bilibili::LiveDanmakuinfo& info) { - LiveDanmaku::instance().setonMessage(onDanmakuReceived); - LiveDanmaku::instance().connect(roomid, std::stoll(ProgramConfig::instance().getUserID()), info); + danmaku.setonMessage(onDanmakuReceived); + danmaku.connect(roomid, std::stoll(ProgramConfig::instance().getUserID()), info); } void LiveActivity::onError(const std::string& error) { @@ -367,7 +366,7 @@ void LiveActivity::retryRequestData() { LiveActivity::~LiveActivity() { brls::Logger::debug("LiveActivity: delete"); - LiveDanmaku::instance().disconnect(); + danmaku.disconnect(); // 取消监控mpv APP_E->unsubscribe(event_id); MPV_E->unsubscribe(tl_event_id); diff --git a/wiliwili/source/api/danmaku_live.cpp b/wiliwili/source/api/danmaku_live.cpp index eab766c0..561410d3 100644 --- a/wiliwili/source/api/danmaku_live.cpp +++ b/wiliwili/source/api/danmaku_live.cpp @@ -60,6 +60,7 @@ LiveDanmaku::~LiveDanmaku() { #ifdef _WIN32 WSACleanup(); #endif + while (!msg_q.empty()) msg_q.pop(); } void LiveDanmaku::connect(int room_id, int64_t uid, const bilibili::LiveDanmakuinfo &info) { @@ -132,8 +133,7 @@ void LiveDanmaku::disconnect() { connected.store(false, std::memory_order_release); // Wakeup the mainloop - if (mgr && nc) - mg_wakeup(this->mgr, this->nc->id, nullptr, 0); + if (mgr && nc) mg_wakeup(this->mgr, this->nc->id, nullptr, 0); // Stop Mongoose event loop thread if (mongoose_thread.joinable()) { From 46562313772f1302cbe9da11852ce6b3226e9eef Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Thu, 2 May 2024 19:05:38 +0800 Subject: [PATCH 03/10] fix memory leak: live_player_activity: re call the fn showDialog --- wiliwili/source/activity/live_player_activity.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/wiliwili/source/activity/live_player_activity.cpp b/wiliwili/source/activity/live_player_activity.cpp index e74f08d0..e5645a6a 100644 --- a/wiliwili/source/activity/live_player_activity.cpp +++ b/wiliwili/source/activity/live_player_activity.cpp @@ -58,8 +58,9 @@ static void onDanmakuReceived(const std::string& msg) { process_danmaku(danmaku_list); } +static brls::Dialog* dialog = nullptr; static void showDialog(const std::string& msg, const std::string& pic, bool forceQuit) { - brls::Dialog* dialog; + if (dialog) return; if (pic.empty()) { dialog = new brls::Dialog(msg); } else { @@ -347,7 +348,8 @@ void LiveActivity::onNeedPay(const std::string& msg, const std::string& link, co box->addView(subtitle); box->addView(img); box->addView(label); - auto dialog = new brls::Dialog(box); + if (dialog) delete dialog; + dialog = new brls::Dialog(box); dialog->setCancelable(false); dialog->addButton("hints/ok"_i18n, []() { brls::sync([]() { brls::Application::popActivity(); }); }); @@ -375,4 +377,6 @@ LiveActivity::~LiveActivity() { LiveDanmakuCore::instance().reset(); brls::cancelDelay(toggleDelayIter); brls::cancelDelay(errorDelayIter); + delete dialog; + dialog = nullptr; } From b58e8eb74b298bd1fb92b64447cb354328870136 Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Thu, 2 May 2024 21:51:41 +0800 Subject: [PATCH 04/10] del the incorrect manually destroy dialog box --- wiliwili/source/activity/live_player_activity.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/wiliwili/source/activity/live_player_activity.cpp b/wiliwili/source/activity/live_player_activity.cpp index e5645a6a..cb6f4e59 100644 --- a/wiliwili/source/activity/live_player_activity.cpp +++ b/wiliwili/source/activity/live_player_activity.cpp @@ -279,6 +279,7 @@ void LiveActivity::onLiveData(const bilibili::LiveRoomPlayInfo& result) { // todo: 支持轮播视频 this->video->showOSD(false); showDialog("未开播", "pictures/sorry.png", true); + return; } brls::Logger::debug("current quality: {}", liveUrl.current_qn); for (auto& i : liveUrl.accept_qn) { @@ -296,6 +297,10 @@ void LiveActivity::onLiveData(const bilibili::LiveRoomPlayInfo& result) { // 设置视频链接 brls::Logger::debug("Live stream url: {}", url); this->video->setUrl(url); + if (dialog) { + dialog->close(); + dialog = nullptr; + } return; } @@ -348,8 +353,7 @@ void LiveActivity::onNeedPay(const std::string& msg, const std::string& link, co box->addView(subtitle); box->addView(img); box->addView(label); - if (dialog) delete dialog; - dialog = new brls::Dialog(box); + auto dialog = new brls::Dialog(box); dialog->setCancelable(false); dialog->addButton("hints/ok"_i18n, []() { brls::sync([]() { brls::Application::popActivity(); }); }); @@ -377,6 +381,5 @@ LiveActivity::~LiveActivity() { LiveDanmakuCore::instance().reset(); brls::cancelDelay(toggleDelayIter); brls::cancelDelay(errorDelayIter); - delete dialog; dialog = nullptr; } From 7d40a44149e29f47811891d8a652c6e15f2e3c8a Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Thu, 2 May 2024 22:35:21 +0800 Subject: [PATCH 05/10] roll back live activity and lock the clearing of the msg_q --- wiliwili/source/activity/live_player_activity.cpp | 8 +------- wiliwili/source/api/danmaku_live.cpp | 1 + 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/wiliwili/source/activity/live_player_activity.cpp b/wiliwili/source/activity/live_player_activity.cpp index cb6f4e59..32103145 100644 --- a/wiliwili/source/activity/live_player_activity.cpp +++ b/wiliwili/source/activity/live_player_activity.cpp @@ -58,9 +58,8 @@ static void onDanmakuReceived(const std::string& msg) { process_danmaku(danmaku_list); } -static brls::Dialog* dialog = nullptr; static void showDialog(const std::string& msg, const std::string& pic, bool forceQuit) { - if (dialog) return; + brls::Dialog* dialog; if (pic.empty()) { dialog = new brls::Dialog(msg); } else { @@ -297,10 +296,6 @@ void LiveActivity::onLiveData(const bilibili::LiveRoomPlayInfo& result) { // 设置视频链接 brls::Logger::debug("Live stream url: {}", url); this->video->setUrl(url); - if (dialog) { - dialog->close(); - dialog = nullptr; - } return; } @@ -381,5 +376,4 @@ LiveActivity::~LiveActivity() { LiveDanmakuCore::instance().reset(); brls::cancelDelay(toggleDelayIter); brls::cancelDelay(errorDelayIter); - dialog = nullptr; } diff --git a/wiliwili/source/api/danmaku_live.cpp b/wiliwili/source/api/danmaku_live.cpp index 561410d3..87e60608 100644 --- a/wiliwili/source/api/danmaku_live.cpp +++ b/wiliwili/source/api/danmaku_live.cpp @@ -60,6 +60,7 @@ LiveDanmaku::~LiveDanmaku() { #ifdef _WIN32 WSACleanup(); #endif + std::lock_guard lock(msg_q_mutex); while (!msg_q.empty()) msg_q.pop(); } From 767dbed2d3bcf9591cbf595dfdea3b1a33050871 Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Thu, 2 May 2024 23:03:57 +0800 Subject: [PATCH 06/10] Optimize WSAStartup to be called only once --- CMakeLists.txt | 1 + wiliwili/source/api/danmaku_live.cpp | 16 +--------------- wiliwili/source/main.cpp | 14 ++++++++++++++ xmake.lua | 2 +- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c7c2d864..338b61b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,6 +118,7 @@ if (PLATFORM_DESKTOP) if (MINGW) set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static" CACHE STRING "" FORCE) + add_definitions(-DMG_ENABLE_WINSOCK=0) endif () elseif (APP_PLATFORM_CUSTOM_LIBS) message(STATUS "Using custom libraries for mpv and webp") diff --git a/wiliwili/source/api/danmaku_live.cpp b/wiliwili/source/api/danmaku_live.cpp index 87e60608..c9adf1f6 100644 --- a/wiliwili/source/api/danmaku_live.cpp +++ b/wiliwili/source/api/danmaku_live.cpp @@ -14,9 +14,6 @@ #include #include #include -#ifdef _WIN32 -#include -#endif namespace bilibili { void BilibiliClient::get_live_danmaku_info(int roomid, const std::function &callback, @@ -45,21 +42,10 @@ static void add_msg(std::string &&a) { cv.notify_one(); } -LiveDanmaku::LiveDanmaku() { -#ifdef _WIN32 - WSADATA wsaData; - int result = WSAStartup(MAKEWORD(2, 2), &wsaData); - if (result != 0) { - printf("WSAStartup failed with error: %d\n", result); - } -#endif -} +LiveDanmaku::LiveDanmaku() {} LiveDanmaku::~LiveDanmaku() { disconnect(); -#ifdef _WIN32 - WSACleanup(); -#endif std::lock_guard lock(msg_q_mutex); while (!msg_q.empty()) msg_q.pop(); } diff --git a/wiliwili/source/main.cpp b/wiliwili/source/main.cpp index ecdcd16a..3f605bae 100644 --- a/wiliwili/source/main.cpp +++ b/wiliwili/source/main.cpp @@ -22,7 +22,18 @@ #include #endif +#ifdef _WIN32 +#include +#endif + int main(int argc, char* argv[]) { +#ifdef _WIN32 + WSADATA wsaData; + int result = WSAStartup(MAKEWORD(2, 2), &wsaData); + if (result != 0) { + printf("WSAStartup failed with error: %d\n", result); + } +#endif for (int i = 1; i < argc; i++) { if (std::strcmp(argv[i], "-d") == 0) { brls::Logger::setLogLevel(brls::LogLevel::LOG_DEBUG); @@ -105,6 +116,9 @@ int main(int argc, char* argv[]) { // Cleanup curl and Check whether restart is required ProgramConfig::instance().exit(argv); +#ifdef _WIN32 + WSACleanup(); +#endif // Exit return EXIT_SUCCESS; } diff --git a/xmake.lua b/xmake.lua index 28f55b63..04bb13fa 100644 --- a/xmake.lua +++ b/xmake.lua @@ -23,7 +23,7 @@ option_end() if is_plat("windows") then add_cxflags("/utf-8") - add_defines("NOMINMAX") + add_defines("NOMINMAX", "MG_ENABLE_WINSOCK=0") set_languages("c++20") if is_mode("release") then set_optimize("faster") From 2dc0d4604ace46b4e8ed91e6e9e59a862b66bcc7 Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Thu, 2 May 2024 23:20:09 +0800 Subject: [PATCH 07/10] roll back, del MG_ENABLE_WINSOCK=0 --- CMakeLists.txt | 1 - xmake.lua | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 338b61b5..c7c2d864 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,7 +118,6 @@ if (PLATFORM_DESKTOP) if (MINGW) set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static" CACHE STRING "" FORCE) - add_definitions(-DMG_ENABLE_WINSOCK=0) endif () elseif (APP_PLATFORM_CUSTOM_LIBS) message(STATUS "Using custom libraries for mpv and webp") diff --git a/xmake.lua b/xmake.lua index 04bb13fa..28f55b63 100644 --- a/xmake.lua +++ b/xmake.lua @@ -23,7 +23,7 @@ option_end() if is_plat("windows") then add_cxflags("/utf-8") - add_defines("NOMINMAX", "MG_ENABLE_WINSOCK=0") + add_defines("NOMINMAX") set_languages("c++20") if is_mode("release") then set_optimize("faster") From 18a51ca13574d166d53c4ebffd618dfcc0e2a300 Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Thu, 2 May 2024 23:23:46 +0800 Subject: [PATCH 08/10] move WSAStartup to ProgramConfig::instance().init() --- wiliwili/source/main.cpp | 14 -------------- wiliwili/source/utils/config_helper.cpp | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/wiliwili/source/main.cpp b/wiliwili/source/main.cpp index 3f605bae..ecdcd16a 100644 --- a/wiliwili/source/main.cpp +++ b/wiliwili/source/main.cpp @@ -22,18 +22,7 @@ #include #endif -#ifdef _WIN32 -#include -#endif - int main(int argc, char* argv[]) { -#ifdef _WIN32 - WSADATA wsaData; - int result = WSAStartup(MAKEWORD(2, 2), &wsaData); - if (result != 0) { - printf("WSAStartup failed with error: %d\n", result); - } -#endif for (int i = 1; i < argc; i++) { if (std::strcmp(argv[i], "-d") == 0) { brls::Logger::setLogLevel(brls::LogLevel::LOG_DEBUG); @@ -116,9 +105,6 @@ int main(int argc, char* argv[]) { // Cleanup curl and Check whether restart is required ProgramConfig::instance().exit(argv); -#ifdef _WIN32 - WSACleanup(); -#endif // Exit return EXIT_SUCCESS; } diff --git a/wiliwili/source/utils/config_helper.cpp b/wiliwili/source/utils/config_helper.cpp index 6ad3709d..4ebdb57f 100644 --- a/wiliwili/source/utils/config_helper.cpp +++ b/wiliwili/source/utils/config_helper.cpp @@ -41,6 +41,10 @@ extern in_addr_t secondary_dns; } #endif +#ifdef _WIN32 +#include +#endif + #ifndef PATH_MAX #define PATH_MAX 256 #endif @@ -717,6 +721,13 @@ void ProgramConfig::init() { curl_global_init(CURL_GLOBAL_DEFAULT); cpr::async::startup(THREAD_POOL_MIN_THREAD_NUM, THREAD_POOL_MAX_THREAD_NUM, std::chrono::milliseconds(5000)); +#ifdef _WIN32 + WSADATA wsaData; + int result = WSAStartup(MAKEWORD(2, 2), &wsaData); + if (result != 0) { + printf("WSAStartup failed with error: %d\n", result); + } +#endif #if defined(_MSC_VER) #elif defined(__PSV__) #elif defined(PS4) @@ -843,6 +854,9 @@ void ProgramConfig::exit(char* argv[]) { cpr::async::cleanup(); curl_global_cleanup(); +#ifdef _WIN32 + WSACleanup(); +#endif #ifdef IOS #elif defined(PS4) #elif __PSV__ From ee9c845a39dfe97eae65105b13475540d4fce9ea Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Thu, 2 May 2024 23:30:08 +0800 Subject: [PATCH 09/10] use brls::Logger::error --- wiliwili/source/utils/config_helper.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/wiliwili/source/utils/config_helper.cpp b/wiliwili/source/utils/config_helper.cpp index 4ebdb57f..c06c3bf0 100644 --- a/wiliwili/source/utils/config_helper.cpp +++ b/wiliwili/source/utils/config_helper.cpp @@ -724,9 +724,7 @@ void ProgramConfig::init() { #ifdef _WIN32 WSADATA wsaData; int result = WSAStartup(MAKEWORD(2, 2), &wsaData); - if (result != 0) { - printf("WSAStartup failed with error: %d\n", result); - } + if (result != 0) brls::Logger::error("WSAStartup failed with error: {}\n", result); #endif #if defined(_MSC_VER) #elif defined(__PSV__) From a76eaf85878f147716004b6d6b9b9d497ccef523 Mon Sep 17 00:00:00 2001 From: maye174 <96584640+maye174@users.noreply.github.com> Date: Fri, 3 May 2024 13:08:10 +0800 Subject: [PATCH 10/10] fix --- wiliwili/source/activity/live_player_activity.cpp | 2 +- wiliwili/source/utils/config_helper.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wiliwili/source/activity/live_player_activity.cpp b/wiliwili/source/activity/live_player_activity.cpp index 32103145..f356337c 100644 --- a/wiliwili/source/activity/live_player_activity.cpp +++ b/wiliwili/source/activity/live_player_activity.cpp @@ -99,7 +99,7 @@ void LiveActivity::setCommonData() { MPVCore::instance().reset(); // 清空自定义着色器 - // ShaderHelper::instance().clearShader(false); + ShaderHelper::instance().clearShader(false); event_id = APP_E->subscribe([this](const std::string& event, void* data) { if (event == VideoView::QUALITY_CHANGE) { diff --git a/wiliwili/source/utils/config_helper.cpp b/wiliwili/source/utils/config_helper.cpp index c06c3bf0..8348b78d 100644 --- a/wiliwili/source/utils/config_helper.cpp +++ b/wiliwili/source/utils/config_helper.cpp @@ -724,7 +724,7 @@ void ProgramConfig::init() { #ifdef _WIN32 WSADATA wsaData; int result = WSAStartup(MAKEWORD(2, 2), &wsaData); - if (result != 0) brls::Logger::error("WSAStartup failed with error: {}\n", result); + if (result != 0) brls::Logger::error("WSAStartup failed with error: {}", result); #endif #if defined(_MSC_VER) #elif defined(__PSV__)