Use kcp as QoS module

This commit is contained in:
dijunkun
2023-08-30 17:44:22 +08:00
parent a4cd77dcb0
commit 3c1f7973d0
79 changed files with 14442 additions and 3150 deletions

View File

@@ -17,6 +17,7 @@ add_defines("ASIO_STANDALONE", "ASIO_HAS_STD_TYPE_TRAITS", "ASIO_HAS_STD_SHARED_
if is_os("windows") then
add_defines("_WEBSOCKETPP_CPP11_INTERNAL_")
add_links("ws2_32", "Bcrypt")
add_requires("cuda")
elseif is_os("linux") then
add_links("pthread")
set_config("cxxflags", "-fPIC")
@@ -57,10 +58,24 @@ target("ws")
add_packages("asio")
add_includedirs("thirdparty/websocketpp/include", {public = true})
target("media")
set_kind("static")
add_deps("log")
add_packages("cuda")
add_links("cuda", "nvencodeapi", "nvcuvid")
add_files("src/media/video/encode/nvcodec/*.cpp",
"src/media/video/decode/nvcodec/*.cpp")
add_includedirs("src/media/video/encode/nvcodec",
"src/media/video/decode/nvcodec",
"thirdparty/nvcodec/Interface",
"thirdparty/nvcodec/Samples", {public = true})
add_linkdirs("thirdparty/nvcodec/Lib/x64")
target("qos")
set_kind("static")
add_deps("log")
add_files("src/qos/*.cpp")
add_files("src/qos/kcp/*.c")
add_includedirs("src/qos/kcp", {public = true})
target("transmission")
set_kind("static")
@@ -72,9 +87,9 @@ target("transmission")
target("pc")
set_kind("static")
add_deps("log")
add_deps("ws", "ice", "transmission", "inih", "common")
add_deps("ws", "ice", "transmission", "inih", "common", "media")
add_files("src/pc/*.cpp")
add_packages("asio", "nlohmann_json")
add_packages("asio", "nlohmann_json", "cuda")
add_includedirs("src/transmission", {public = true})
target("projectx")
@@ -82,7 +97,7 @@ target("projectx")
add_deps("log")
add_deps("pc")
add_files("src/rtc/*.cpp")
add_packages("asio", "nlohmann_json")
add_packages("asio", "nlohmann_json", "cuda")
add_includedirs("src/rtc", "src/pc", "src/interface")
add_rules("utils.symbols.export_all", {export_classes = true})
-- set_policy("build.merge_archive", true)