From 8e8724e90752bba8c761f75434f8079fe93593e3 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Thu, 18 Apr 2024 16:52:48 +0900 Subject: [PATCH 01/22] =?UTF-8?q?=E5=A4=89=E6=9B=B4=E5=B1=A5=E6=AD=B4?= =?UTF-8?q?=E3=82=92=E6=9B=B4=E6=96=B0=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 25f6fc5..38f24f9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -14,6 +14,7 @@ ## 2024.3.0 (2024-04-18) - [UPDATE] Sora C++ SDK を `2024.6.1` に上げる + - Intel VPL H.265 対応( Windows, Ubuntu 22.04 ) - WEBRTC_BUILD_VERSION を `m122.6261.1.0` にあげる - Ubuntu のビルドを通すために、 __assertion_handler というファイルをコピーする処理を追加した - @miosakuma @torikizi From fdc48fe84d84fd649ca894077c750fc43b94901f Mon Sep 17 00:00:00 2001 From: melpon Date: Mon, 13 May 2024 17:12:15 +0900 Subject: [PATCH 02/22] =?UTF-8?q?=E3=83=AD=E3=83=BC=E3=82=AB=E3=83=AB?= =?UTF-8?q?=E3=83=93=E3=83=AB=E3=83=89=E3=81=AE=E3=82=AA=E3=83=97=E3=82=B7?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E5=90=8D=E3=82=92=E5=A4=89=E6=9B=B4=E3=81=99?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 5 +++++ buildbase.py | 62 ++++++++++++++++++++++++++++++---------------------- run.py | 50 ++++++++++++++++++++++++------------------ 3 files changed, 70 insertions(+), 47 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 38f24f9..af2420b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,11 @@ ## develop +- [CHANGE] `--sora-dir`, `--sora-args` を `--local-sora-cpp-sdk-dir` と `--local-sora-cpp-sdk-args` に変更する + - @melpon +- [CHANGE] `--webrtc-build-dir`, `--webrtc-build-args` を `--local-webrtc-build-dir` と `--local-webrtc-build-args` に変更する + - @melpon + ## 2024.3.0 (2024-04-18) - [UPDATE] Sora C++ SDK を `2024.6.1` に上げる diff --git a/buildbase.py b/buildbase.py index 2bf0e9c..35f1a54 100644 --- a/buildbase.py +++ b/buildbase.py @@ -433,19 +433,19 @@ def install_webrtc(version, source_dir, install_dir, platform: str): extract(archive, output_dir=install_dir, output_dirname="webrtc") -def build_webrtc(platform, webrtc_build_dir, webrtc_build_args, debug): - with cd(webrtc_build_dir): +def build_webrtc(platform, local_webrtc_build_dir, local_webrtc_build_args, debug): + with cd(local_webrtc_build_dir): args = ["--webrtc-nobuild-ios-framework", "--webrtc-nobuild-android-aar"] if debug: args += ["--debug"] - args += webrtc_build_args + args += local_webrtc_build_args cmd(["python3", "run.py", "build", platform, *args]) # インクルードディレクトリを増やしたくないので、 # __config_site を libc++ のディレクトリにコピーしておく - webrtc_source_dir = os.path.join(webrtc_build_dir, "_source", platform, "webrtc") + webrtc_source_dir = os.path.join(local_webrtc_build_dir, "_source", platform, "webrtc") src_config = os.path.join( webrtc_source_dir, "src", "buildtools", "third_party", "libc++", "__config_site" ) @@ -486,11 +486,11 @@ class WebrtcInfo(NamedTuple): def get_webrtc_info( - platform: str, webrtc_build_dir: Optional[str], install_dir: str, debug: bool + platform: str, local_webrtc_build_dir: Optional[str], install_dir: str, debug: bool ) -> WebrtcInfo: webrtc_install_dir = os.path.join(install_dir, "webrtc") - if webrtc_build_dir is None: + if local_webrtc_build_dir is None: return WebrtcInfo( version_file=os.path.join(webrtc_install_dir, "VERSIONS"), deps_file=os.path.join(webrtc_install_dir, "DEPS"), @@ -501,15 +501,17 @@ def get_webrtc_info( libcxx_dir=os.path.join(install_dir, "llvm", "libcxx"), ) else: - webrtc_build_source_dir = os.path.join(webrtc_build_dir, "_source", platform, "webrtc") + webrtc_build_source_dir = os.path.join( + local_webrtc_build_dir, "_source", platform, "webrtc" + ) configuration = "debug" if debug else "release" webrtc_build_build_dir = os.path.join( - webrtc_build_dir, "_build", platform, configuration, "webrtc" + local_webrtc_build_dir, "_build", platform, configuration, "webrtc" ) return WebrtcInfo( - version_file=os.path.join(webrtc_build_dir, "VERSION"), - deps_file=os.path.join(webrtc_build_dir, "DEPS"), + version_file=os.path.join(local_webrtc_build_dir, "VERSION"), + deps_file=os.path.join(local_webrtc_build_dir, "DEPS"), webrtc_include_dir=os.path.join(webrtc_build_source_dir, "src"), webrtc_source_dir=os.path.join(webrtc_build_source_dir, "src"), webrtc_library_dir=webrtc_build_build_dir, @@ -749,15 +751,23 @@ def install_sora_and_deps(platform: str, source_dir: str, install_dir: str): def build_sora( - platform: str, sora_dir: str, sora_args: List[str], debug: bool, webrtc_build_dir: Optional[str] + platform: str, + local_sora_cpp_sdk_dir: str, + local_sora_cpp_sdk_args: List[str], + debug: bool, + local_webrtc_build_dir: Optional[str], ): - if debug and "--debug" not in sora_args: - sora_args = ["--debug", *sora_args] - if webrtc_build_dir is not None: - sora_args = ["--webrtc-build-dir", webrtc_build_dir, *sora_args] + if debug and "--debug" not in local_sora_cpp_sdk_args: + local_sora_cpp_sdk_args = ["--debug", *local_sora_cpp_sdk_args] + if local_webrtc_build_dir is not None: + local_sora_cpp_sdk_args = [ + "--local-webrtc-build-dir", + local_webrtc_build_dir, + *local_sora_cpp_sdk_args, + ] - with cd(sora_dir): - cmd(["python3", "run.py", platform, *sora_args]) + with cd(local_sora_cpp_sdk_dir): + cmd(["python3", "run.py", platform, *local_sora_cpp_sdk_args]) class SoraInfo(NamedTuple): @@ -766,11 +776,11 @@ class SoraInfo(NamedTuple): def get_sora_info( - platform: str, sora_dir: Optional[str], install_dir: str, debug: bool + platform: str, local_sora_cpp_sdk_dir: Optional[str], install_dir: str, debug: bool ) -> SoraInfo: - if sora_dir is not None: + if local_sora_cpp_sdk_dir is not None: configuration = "debug" if debug else "release" - install_dir = os.path.join(sora_dir, "_install", platform, configuration) + install_dir = os.path.join(local_sora_cpp_sdk_dir, "_install", platform, configuration) return SoraInfo( sora_install_dir=os.path.join(install_dir, "sora"), @@ -1497,32 +1507,32 @@ def get_webrtc_platform(platform: Platform) -> str: # `--sora-args '--test'` のようにスペースを使うと、ハイフンから始まるオプションが正しく解釈されない def add_sora_arguments(parser): parser.add_argument( - "--sora-dir", + "--local-sora-cpp-sdk-dir", type=os.path.abspath, default=None, help="Refer to local Sora C++ SDK. " "When this option is specified, Sora C++ SDK will also be built.", ) parser.add_argument( - "--sora-args", + "--local-sora-cpp-sdk-args", type=shlex.split, default=[], - help="Options for building local Sora C++ SDK when `--sora-dir` is specified.", + help="Options for building local Sora C++ SDK when `--local-sora-cpp-sdk-dir` is specified.", ) # add_sora_arguments と同様の注意点があるので注意すること def add_webrtc_build_arguments(parser): parser.add_argument( - "--webrtc-build-dir", + "--local-webrtc-build-dir", type=os.path.abspath, default=None, help="Refer to local webrtc-build. " "When this option is specified, webrtc-build will also be built.", ) parser.add_argument( - "--webrtc-build-args", + "--local-webrtc-build-args", type=shlex.split, default=[], - help="Options for building local webrtc-build when `--webrtc-build-dir` is specified.", + help="Options for building local webrtc-build when `--local-webrtc-build-dir` is specified.", ) diff --git a/run.py b/run.py index bc60652..489bce7 100644 --- a/run.py +++ b/run.py @@ -40,10 +40,10 @@ def install_deps( build_dir, install_dir, debug, - webrtc_build_dir: Optional[str], - webrtc_build_args: List[str], - sora_dir: Optional[str], - sora_args: List[str], + local_webrtc_build_dir: Optional[str], + local_webrtc_build_args: List[str], + local_sora_cpp_sdk_dir: Optional[str], + local_sora_cpp_sdk_args: List[str], ): with cd(BASE_DIR): version = read_version_file("VERSION") @@ -59,7 +59,7 @@ def install_deps( install_android_ndk(**install_android_ndk_args) # WebRTC - if webrtc_build_dir is None: + if local_webrtc_build_dir is None: install_webrtc_args = { "version": version["WEBRTC_BUILD_VERSION"], "version_file": os.path.join(install_dir, "webrtc.version"), @@ -71,13 +71,13 @@ def install_deps( else: build_webrtc_args = { "platform": platform, - "webrtc_build_dir": webrtc_build_dir, - "webrtc_build_args": webrtc_build_args, + "local_webrtc_build_dir": local_webrtc_build_dir, + "local_webrtc_build_args": local_webrtc_build_args, "debug": debug, } build_webrtc(**build_webrtc_args) - webrtc_info = get_webrtc_info(platform, webrtc_build_dir, install_dir, debug) + webrtc_info = get_webrtc_info(platform, local_webrtc_build_dir, install_dir, debug) # Windows は MSVC を使うので不要 # macOS と iOS は Apple Clang を使うので不要 @@ -85,7 +85,7 @@ def install_deps( # webrtc-build をソースビルドしてる場合は既にローカルにあるので不要 if ( platform not in ("windows_x86_64", "macos_x86_64", "macos_arm64", "ios") - and webrtc_build_dir is None + and local_webrtc_build_dir is None ): webrtc_version = read_version_file(webrtc_info.version_file) @@ -137,10 +137,16 @@ def install_deps( add_path(os.path.join(install_dir, "cmake", "bin")) # Sora C++ SDK - if sora_dir is None: + if local_sora_cpp_sdk_dir is None: install_sora_and_deps(platform, source_dir, install_dir) else: - build_sora(platform, sora_dir, sora_args, debug, webrtc_build_dir) + build_sora( + platform, + local_sora_cpp_sdk_dir, + local_sora_cpp_sdk_args, + debug, + local_webrtc_build_dir, + ) # protobuf install_protobuf_args = { @@ -230,10 +236,10 @@ def main(): parser = argparse.ArgumentParser() parser.add_argument("--debug", action="store_true") parser.add_argument("--relwithdebinfo", action="store_true") - parser.add_argument("--webrtc-build-dir", type=os.path.abspath) - parser.add_argument("--webrtc-build-args", default="", type=shlex.split) - parser.add_argument("--sora-dir", type=os.path.abspath) - parser.add_argument("--sora-args", default="", type=shlex.split) + parser.add_argument("--local-webrtc-build-dir", type=os.path.abspath) + parser.add_argument("--local-webrtc-build-args", default="", type=shlex.split) + parser.add_argument("--local-sora-cpp-sdk-dir", type=os.path.abspath) + parser.add_argument("--local-sora-cpp-sdk-args", default="", type=shlex.split) parser.add_argument("target", choices=AVAILABLE_TARGETS) args = parser.parse_args() @@ -262,10 +268,10 @@ def main(): build_dir, install_dir, args.debug, - args.webrtc_build_dir, - args.webrtc_build_args, - args.sora_dir, - args.sora_args, + args.local_webrtc_build_dir, + args.local_webrtc_build_args, + args.local_sora_cpp_sdk_dir, + args.local_sora_cpp_sdk_args, ) if args.debug: @@ -278,8 +284,10 @@ def main(): unity_build_dir = os.path.join(build_dir, "sora_unity_sdk") mkdir_p(unity_build_dir) with cd(unity_build_dir): - webrtc_info = get_webrtc_info(platform, args.webrtc_build_dir, install_dir, args.debug) - sora_info = get_sora_info(platform, args.sora_dir, install_dir, args.debug) + webrtc_info = get_webrtc_info( + platform, args.local_webrtc_build_dir, install_dir, args.debug + ) + sora_info = get_sora_info(platform, args.local_sora_cpp_sdk_dir, install_dir, args.debug) webrtc_version = read_version_file(webrtc_info.version_file) webrtc_commit = webrtc_version["WEBRTC_COMMIT"] with cd(BASE_DIR): From 9ad7e5ed536346177f9ef634f77e220ec5488170 Mon Sep 17 00:00:00 2001 From: V Date: Tue, 4 Jun 2024 14:27:26 +0900 Subject: [PATCH 03/22] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fa884b8..4a29d70 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ Please read https://github.com/shiguredo/oss/blob/master/README.en.md before use - マイクやカメラ等のメディアデバイスをつかまないようにする機能 - 接続確立後のカメラ切り替え機能 -## Sora Unity SDK for MS Hololens2 +## Sora Unity SDK for MS HoloLens 2 - Discord でのお問い合わせはお受けしておりません - [support/hololens2](https://github.com/shiguredo/sora-unity-sdk/tree/support/hololens2) ブランチの修正や改善は有償でお受けしています From ca956bc5e81ba41c9bdae5c60a6be9a0167daaa1 Mon Sep 17 00:00:00 2001 From: V Date: Tue, 4 Jun 2024 14:33:39 +0900 Subject: [PATCH 04/22] =?UTF-8?q?=E3=82=B5=E3=83=9D=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=A7=E3=81=AF=E3=81=AA=E3=81=8F=E3=83=A1=E3=83=B3=E3=83=86?= =?UTF-8?q?=E3=83=8A=E3=83=B3=E3=82=B9=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4a29d70..44bdd69 100644 --- a/README.md +++ b/README.md @@ -105,8 +105,8 @@ Please read https://github.com/shiguredo/oss/blob/master/README.en.md before use ## Sora Unity SDK for MS HoloLens 2 - Discord でのお問い合わせはお受けしておりません -- [support/hololens2](https://github.com/shiguredo/sora-unity-sdk/tree/support/hololens2) ブランチの修正や改善は有償でお受けしています -- 継続的な有償サポートを提供しています +- [support/hololens2](https://github.com/shiguredo/sora-unity-sdk/tree/support/hololens2) ブランチの修正や改善は優先実装としてお受けしています +- 継続的なメンテナンスを有償にて提供しています ## 有償での優先実装 From 4932007f19c3ca699fbd4006f1278636354ce78a Mon Sep 17 00:00:00 2001 From: torikizi Date: Tue, 23 Jul 2024 16:50:22 +0900 Subject: [PATCH 05/22] =?UTF-8?q?Sora=20C++=20SDK=20=E3=81=AE=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=92=E4=B8=8A=E3=81=92?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 4010555..27a3d3b 100644 --- a/VERSION +++ b/VERSION @@ -1,6 +1,6 @@ SORA_UNITY_SDK_VERSION=2024.3.0 -SORA_CPP_SDK_VERSION=2024.6.1 -WEBRTC_BUILD_VERSION=m122.6261.1.0 +SORA_CPP_SDK_VERSION=2024.7.0-canary.6 +WEBRTC_BUILD_VERSION=m126.6478.1.1 BOOST_VERSION=1.84.0 CMAKE_VERSION=3.28.1 PROTOBUF_VERSION=21.1 From 5cf24ddd373ab19ae299de96d115c87f5cf2778a Mon Sep 17 00:00:00 2001 From: torikizi Date: Tue, 23 Jul 2024 17:15:16 +0900 Subject: [PATCH 06/22] =?UTF-8?q?=E5=88=A9=E7=94=A8=E3=81=97=E3=81=A6?= =?UTF-8?q?=E3=81=84=E3=82=8B=E3=83=A9=E3=82=A4=E3=83=96=E3=83=A9=E3=83=AA?= =?UTF-8?q?=E3=81=AE=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=82?= =?UTF-8?q?=E4=B8=8A=E3=81=92=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 27a3d3b..21564fb 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ SORA_UNITY_SDK_VERSION=2024.3.0 SORA_CPP_SDK_VERSION=2024.7.0-canary.6 WEBRTC_BUILD_VERSION=m126.6478.1.1 -BOOST_VERSION=1.84.0 -CMAKE_VERSION=3.28.1 +BOOST_VERSION=1.85.0 +CMAKE_VERSION=3.29.6 PROTOBUF_VERSION=21.1 PROTOC_GEN_JSONIF_VERSION=0.12.0 ANDROID_NDK_VERSION=r26b From d3be3b77749917c9e2aa010d00d085339652b019 Mon Sep 17 00:00:00 2001 From: torikizi Date: Tue, 23 Jul 2024 18:08:20 +0900 Subject: [PATCH 07/22] =?UTF-8?q?nvcodec=5Fh264=5Fencoder.h=20=E3=81=8B?= =?UTF-8?q?=E3=82=89=20nvcodec=5Fvideo=5Fencoder.h=20=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E3=81=95=E3=82=8C=E3=81=9F=E3=81=AE=E3=81=A7=E8=BF=BD?= =?UTF-8?q?=E5=BE=93=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/unity.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unity.cpp b/src/unity.cpp index 2695a4b..a4de342 100644 --- a/src/unity.cpp +++ b/src/unity.cpp @@ -10,7 +10,7 @@ #include "unity_context.h" #if defined(SORA_UNITY_SDK_WINDOWS) || defined(SORA_UNITY_SDK_UBUNTU) -#include +#include #include #endif From 931807804d7cf2bd412a5933d814781ed75060ec Mon Sep 17 00:00:00 2001 From: torikizi Date: Tue, 23 Jul 2024 18:24:54 +0900 Subject: [PATCH 08/22] =?UTF-8?q?include=20=E4=BB=A5=E5=A4=96=E3=82=82?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/unity.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unity.cpp b/src/unity.cpp index a4de342..58d9b7f 100644 --- a/src/unity.cpp +++ b/src/unity.cpp @@ -218,7 +218,7 @@ unity_bool_t sora_device_enum_audio_playout(device_enum_cb_t f, unity_bool_t sora_is_h264_supported() { #if defined(SORA_UNITY_SDK_WINDOWS) || defined(SORA_UNITY_SDK_UBUNTU) auto context = sora::CudaContext::Create(); - return sora::NvCodecH264Encoder::IsSupported(context) && + return sora::NvCodecVideoEncoder::IsSupported(context) && sora::NvCodecVideoDecoder::IsSupported(context, sora::CudaVideoCodec::H264); #elif defined(SORA_UNITY_SDK_MACOS) || defined(SORA_UNITY_SDK_IOS) From a44b66eef3731e05e49649a563193521534e4419 Mon Sep 17 00:00:00 2001 From: torikizi Date: Tue, 23 Jul 2024 18:46:42 +0900 Subject: [PATCH 09/22] =?UTF-8?q?=E5=BC=95=E6=95=B0=E3=81=AE=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E3=81=AB=E8=BF=BD=E5=BE=93=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/unity.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/unity.cpp b/src/unity.cpp index 58d9b7f..10a9ad3 100644 --- a/src/unity.cpp +++ b/src/unity.cpp @@ -218,9 +218,9 @@ unity_bool_t sora_device_enum_audio_playout(device_enum_cb_t f, unity_bool_t sora_is_h264_supported() { #if defined(SORA_UNITY_SDK_WINDOWS) || defined(SORA_UNITY_SDK_UBUNTU) auto context = sora::CudaContext::Create(); - return sora::NvCodecVideoEncoder::IsSupported(context) && - sora::NvCodecVideoDecoder::IsSupported(context, - sora::CudaVideoCodec::H264); + auto codec = sora::CudaVideoCodec::H264; + return sora::NvCodecVideoEncoder::IsSupported(context, codec) && + sora::NvCodecVideoDecoder::IsSupported(context, codec); #elif defined(SORA_UNITY_SDK_MACOS) || defined(SORA_UNITY_SDK_IOS) // macOS, iOS は VideoToolbox が使えるので常に true return true; From 693bc1fdd696dbf453bc398269897fa03d880221 Mon Sep 17 00:00:00 2001 From: torikizi Date: Tue, 23 Jul 2024 18:53:34 +0900 Subject: [PATCH 10/22] =?UTF-8?q?actions=20=E3=81=A7=E5=88=A9=E7=94=A8?= =?UTF-8?q?=E3=81=99=E3=82=8B=20windows=20=E3=82=92=202022=20=E3=81=AB?= =?UTF-8?q?=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 90522db..fe332db 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: matrix: name: - windows_x86_64 - runs-on: windows-2019 + runs-on: windows-2022 steps: - uses: actions/checkout@v4 - name: Cache From 36889f9ce86e3154ea5e5f0dbc18c6041e513c53 Mon Sep 17 00:00:00 2001 From: melpon Date: Wed, 24 Jul 2024 09:16:31 +0900 Subject: [PATCH 11/22] =?UTF-8?q?=E6=B6=88=E3=81=88=E3=81=9Flibwebrtc?= =?UTF-8?q?=E3=81=AE=E3=83=98=E3=83=83=E3=83=80=E3=83=BC=E3=82=92=E5=89=8A?= =?UTF-8?q?=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/android_helper/jni_onload.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/src/android_helper/jni_onload.cc b/src/android_helper/jni_onload.cc index 0b864ac..7624341 100644 --- a/src/android_helper/jni_onload.cc +++ b/src/android_helper/jni_onload.cc @@ -12,7 +12,6 @@ #undef JNIEXPORT #define JNIEXPORT __attribute__((visibility("default"))) -#include "examples/unityplugin/class_reference_holder.h" #include "rtc_base/logging.h" #include "rtc_base/ssl_adapter.h" #include "sdk/android/native_api/jni/class_loader.h" From 71c9466e3fb2f94d93bb735b726318bb293caa10 Mon Sep 17 00:00:00 2001 From: melpon Date: Wed, 24 Jul 2024 09:17:29 +0900 Subject: [PATCH 12/22] =?UTF-8?q?=E3=83=AA=E3=83=B3=E3=82=AF=E3=82=A8?= =?UTF-8?q?=E3=83=A9=E3=83=BC=E3=81=AE=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 3 +++ run.py | 1 + 2 files changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index b298e0a..97193d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -209,6 +209,9 @@ elseif (SORA_UNITY_SDK_PACKAGE STREQUAL "ios") elseif (SORA_UNITY_SDK_PACKAGE STREQUAL "android") + # ref: https://github.com/shiguredo/sora-cpp-sdk/blob/bfb7ed87f4d4c08212115dce00f4be6629ea65d4/test/android/app/src/main/cpp/CMakeLists.txt#L48-L56 + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -B ${CLANG_DIR}/bin") + find_library(ANDROID_LIB_LOG log) find_library(ANDROID_LIB_ANDROID android) find_library(ANDROID_LIB_OPENSLES OpenSLES) diff --git a/run.py b/run.py index 489bce7..4a0ee03 100644 --- a/run.py +++ b/run.py @@ -307,6 +307,7 @@ def main(): cmake_args.append(f"-DWEBRTC_LIBRARY_DIR={cmake_path(webrtc_info.webrtc_library_dir)}") cmake_args.append(f"-DWEBRTC_COMMIT={webrtc_commit}") cmake_args.append(f"-DSORA_DIR={cmake_path(sora_info.sora_install_dir)}") + cmake_args.append(f"-DCLANG_DIR={cmake_path(os.path.join(webrtc_info.clang_dir))}") cmake_args.append(f"-DPROTOBUF_DIR={cmake_path(os.path.join(install_dir, 'protobuf'))}") cmake_args.append( f"-DPROTOC_GEN_JSONIF_DIR={cmake_path(os.path.join(install_dir, 'protoc-gen-jsonif'))}" From 9e7d06923da54dea2d0f4b3c6af9b1a58f9c861b Mon Sep 17 00:00:00 2001 From: melpon Date: Wed, 24 Jul 2024 09:17:43 +0900 Subject: [PATCH 13/22] =?UTF-8?q?Ubuntu=2022.04=20=E5=AF=BE=E5=BF=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 3 +++ CMakeLists.txt | 6 +++++- run.py | 16 +++++++++++----- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index af2420b..f8b9c8b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,6 +15,9 @@ - @melpon - [CHANGE] `--webrtc-build-dir`, `--webrtc-build-args` を `--local-webrtc-build-dir` と `--local-webrtc-build-args` に変更する - @melpon +- [ADD] Ubuntu 22.04 でのビルドに対応する + - 単にローカルビルド可能にしただけで、リリースには含めていない + - @melpon ## 2024.3.0 (2024-04-18) diff --git a/CMakeLists.txt b/CMakeLists.txt index 97193d8..6c2d38a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,6 +54,10 @@ elseif (SORA_UNITY_SDK_PACKAGE STREQUAL "android") elseif (SORA_UNITY_SDK_PACKAGE STREQUAL "ubuntu-20.04_x86_64") add_library(SoraUnitySdk SHARED) + set(SORA_UNITY_SDK_PLATFORM Ubuntu) +elseif (SORA_UNITY_SDK_PACKAGE STREQUAL "ubuntu-22.04_x86_64") + add_library(SoraUnitySdk SHARED) + set(SORA_UNITY_SDK_PLATFORM Ubuntu) endif() @@ -250,7 +254,7 @@ elseif (SORA_UNITY_SDK_PACKAGE STREQUAL "android") ${_WEBRTC_ANDROID_LDFLAGS} ) -elseif (SORA_UNITY_SDK_PACKAGE STREQUAL "ubuntu-20.04_x86_64") +elseif (SORA_UNITY_SDK_PACKAGE STREQUAL "ubuntu-20.04_x86_64" OR SORA_UNITY_SDK_PACKAGE STREQUAL "ubuntu-22.04_x86_64") target_sources(SoraUnitySdk PRIVATE diff --git a/run.py b/run.py index 4a0ee03..d626a20 100644 --- a/run.py +++ b/run.py @@ -125,7 +125,7 @@ def install_deps( install_cmake_args["ext"] = "zip" elif build_platform in ("macos_x86_64", "macos_arm64"): install_cmake_args["platform"] = "macos-universal" - elif build_platform == "ubuntu-20.04_x86_64": + elif build_platform in ("ubuntu-20.04_x86_64", "ubuntu-22.04_x86_64"): install_cmake_args["platform"] = "linux-x86_64" else: raise Exception("Failed to install CMake") @@ -160,7 +160,7 @@ def install_deps( install_protobuf_args["platform"] = "win64" elif build_platform in ("macos_x86_64", "macos_arm64"): install_protobuf_args["platform"] = "osx-universal_binary" - elif build_platform == "ubuntu-20.04_x86_64": + elif build_platform in ("ubuntu-20.04_x86_64", "ubuntu-22.04_x86_64"): install_protobuf_args["platform"] = "linux-x86_64" else: raise Exception("Failed to install Protobuf") @@ -180,7 +180,7 @@ def install_deps( install_jsonif_args["platform"] = "darwin-amd64" elif build_platform == "macos_arm64": install_jsonif_args["platform"] = "darwin-arm64" - elif build_platform == "ubuntu-20.04_x86_64": + elif build_platform in ("ubuntu-20.04_x86_64", "ubuntu-22.04_x86_64"): install_jsonif_args["platform"] = "linux-amd64" else: raise Exception("Failed to install protoc-gen-jsonif") @@ -214,6 +214,11 @@ def get_build_platform(): return "ubuntu-20.04_x86_64" else: raise Exception("Unknown ubuntu arch") + elif osver == "22.04": + if arch == "x86_64": + return "ubuntu-22.04_x86_64" + else: + raise Exception("Unknown ubuntu arch") else: raise Exception("Unexpected Ubuntu version") else: @@ -222,13 +227,14 @@ def get_build_platform(): raise Exception(f"OS {os} not supported") -AVAILABLE_TARGETS = ["windows_x86_64", "macos_arm64", "ubuntu-20.04_x86_64", "ios", "android"] +AVAILABLE_TARGETS = ["windows_x86_64", "macos_arm64", "ubuntu-20.04_x86_64", "ubuntu-22.04_x86_64", "ios", "android"] BUILD_PLATFORM = { "windows_x86_64": ["windows_x86_64"], "macos_x86_64": ["macos_x86_64", "macos_arm64", "ios"], "macos_arm64": ["macos_x86_64", "macos_arm64", "ios"], "ubuntu-20.04_x86_64": ["ubuntu-20.04_x86_64", "android"], + "ubuntu-22.04_x86_64": ["ubuntu-22.04_x86_64", "android"], } @@ -346,7 +352,7 @@ def main(): # r23b には ANDROID_CPP_FEATURES=exceptions でも例外が設定されない問題がある # https://github.com/android/ndk/issues/1618 cmake_args.append("-DCMAKE_ANDROID_EXCEPTIONS=ON") - elif platform == "ubuntu-20.04_x86_64": + elif platform in ("ubuntu-20.04_x86_64", "ubuntu-22.04_x86_64"): cmake_args.append( f"-DCMAKE_C_COMPILER={os.path.join(webrtc_info.clang_dir, 'bin', 'clang')}" ) From 8c3a686af88d77f5a209c5f6a7f65486ff4ddbee Mon Sep 17 00:00:00 2001 From: torikizi Date: Wed, 24 Jul 2024 15:00:10 +0900 Subject: [PATCH 14/22] =?UTF-8?q?Sora=20C++=20SDK=20=E3=81=AE=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=82=92=E4=B8=8A=E3=81=92?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index 21564fb..d695fc4 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ SORA_UNITY_SDK_VERSION=2024.3.0 -SORA_CPP_SDK_VERSION=2024.7.0-canary.6 +SORA_CPP_SDK_VERSION=2024.7.0-canary.7 WEBRTC_BUILD_VERSION=m126.6478.1.1 BOOST_VERSION=1.85.0 CMAKE_VERSION=3.29.6 From 413ba309cceeb14e9ad8ef0b78416dd956519fb2 Mon Sep 17 00:00:00 2001 From: melpon Date: Wed, 24 Jul 2024 18:26:22 +0900 Subject: [PATCH 15/22] =?UTF-8?q?User-Agent=20=E3=82=92=E8=A8=AD=E5=AE=9A?= =?UTF-8?q?=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sora.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/sora.cpp b/src/sora.cpp index 4c0f574..d9676cd 100644 --- a/src/sora.cpp +++ b/src/sora.cpp @@ -484,6 +484,8 @@ void Sora::DoConnect(const sora_conf::internal::ConnectConfig& cc, sora_context_->signaling_thread()->BlockingCall([this]() { return sora_context_->connection_context()->default_socket_factory(); }); + config.user_agent = boost::optional( + "Mozilla 5.0 (Sora Unity SDK/" SORA_UNITY_SDK_VERSION ")"); signaling_ = sora::SoraSignaling::Create(std::move(config)); signaling_->Connect(); From 9a2e81fa7cf7356c147985c9e397c2294e1202ba Mon Sep 17 00:00:00 2001 From: melpon Date: Wed, 24 Jul 2024 18:28:35 +0900 Subject: [PATCH 16/22] =?UTF-8?q?=E5=BE=AE=E5=A6=99=E3=81=AB=E9=96=93?= =?UTF-8?q?=E9=81=95=E3=81=A3=E3=81=A6=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sora.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sora.cpp b/src/sora.cpp index d9676cd..35e92b3 100644 --- a/src/sora.cpp +++ b/src/sora.cpp @@ -485,7 +485,7 @@ void Sora::DoConnect(const sora_conf::internal::ConnectConfig& cc, return sora_context_->connection_context()->default_socket_factory(); }); config.user_agent = boost::optional( - "Mozilla 5.0 (Sora Unity SDK/" SORA_UNITY_SDK_VERSION ")"); + "Mozilla/5.0 (Sora Unity SDK/" SORA_UNITY_SDK_VERSION ")"); signaling_ = sora::SoraSignaling::Create(std::move(config)); signaling_->Connect(); From 23cca9470d7ceca595c14425f26279140562c023 Mon Sep 17 00:00:00 2001 From: torikizi Date: Thu, 25 Jul 2024 12:42:43 +0900 Subject: [PATCH 17/22] =?UTF-8?q?WEBRTC=5FBUILD=5FVERSION=20=E3=82=92=20m1?= =?UTF-8?q?27=20=E3=81=AB=E4=B8=8A=E3=81=92=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index d695fc4..dde3751 100644 --- a/VERSION +++ b/VERSION @@ -1,6 +1,6 @@ SORA_UNITY_SDK_VERSION=2024.3.0 -SORA_CPP_SDK_VERSION=2024.7.0-canary.7 -WEBRTC_BUILD_VERSION=m126.6478.1.1 +SORA_CPP_SDK_VERSION=2024.7.0-canary.8 +WEBRTC_BUILD_VERSION=m127.6533.1.1 BOOST_VERSION=1.85.0 CMAKE_VERSION=3.29.6 PROTOBUF_VERSION=21.1 From 503a09cee3a358ed18480d3e68063ac5cd939317 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Thu, 25 Jul 2024 18:54:51 +0900 Subject: [PATCH 18/22] =?UTF-8?q?=E5=A4=89=E6=9B=B4=E5=B1=A5=E6=AD=B4?= =?UTF-8?q?=E3=82=92=E6=9B=B4=E6=96=B0=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index f8b9c8b..6a3da3d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,9 +15,18 @@ - @melpon - [CHANGE] `--webrtc-build-dir`, `--webrtc-build-args` を `--local-webrtc-build-dir` と `--local-webrtc-build-args` に変更する - @melpon +- [UPDATE] Sora C++ SDK を `2024.7.0-canary.8` に上げる + - WEBRTC_BUILD_VERSION を `m127.6533.1.1` にアップデート + - BOOST_VERSION を 1.85.0 にアップデート + - CMAKE_VERSION を 3.29.6 にアップデート + - @melpon @torikizi +- [UPDATE] Github Actions で利用する Windows を 2022 にあげる + - @torikizi - [ADD] Ubuntu 22.04 でのビルドに対応する - 単にローカルビルド可能にしただけで、リリースには含めていない - @melpon +- [ADD] WebSocket での接続時に User-Agent を設定する + - @melpon ## 2024.3.0 (2024-04-18) From f8b68c5488c2a79a9ebe4907ed045d418e11dbfa Mon Sep 17 00:00:00 2001 From: torikizi Date: Thu, 25 Jul 2024 19:14:17 +0900 Subject: [PATCH 19/22] =?UTF-8?q?=E5=A4=89=E6=9B=B4=E5=B1=A5=E6=AD=B4?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 6a3da3d..ec8ead4 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,6 +15,8 @@ - @melpon - [CHANGE] `--webrtc-build-dir`, `--webrtc-build-args` を `--local-webrtc-build-dir` と `--local-webrtc-build-args` に変更する - @melpon +- [CHANGE] Sora C++ SDK の変更に合わせて H.264 専用となっていた `NvCodecH264Encoder` を `NvCodecVideoEncoder` に変更する + - @torikizi - [UPDATE] Sora C++ SDK を `2024.7.0-canary.8` に上げる - WEBRTC_BUILD_VERSION を `m127.6533.1.1` にアップデート - BOOST_VERSION を 1.85.0 にアップデート From c10f3178a5f164ef3cca5bb63ff84d46b1ee0ee4 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Thu, 25 Jul 2024 19:22:54 +0900 Subject: [PATCH 20/22] =?UTF-8?q?=E5=A4=89=E6=9B=B4=E5=B1=A5=E6=AD=B4?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index ec8ead4..a6c9abb 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,9 +15,8 @@ - @melpon - [CHANGE] `--webrtc-build-dir`, `--webrtc-build-args` を `--local-webrtc-build-dir` と `--local-webrtc-build-args` に変更する - @melpon -- [CHANGE] Sora C++ SDK の変更に合わせて H.264 専用となっていた `NvCodecH264Encoder` を `NvCodecVideoEncoder` に変更する - - @torikizi - [UPDATE] Sora C++ SDK を `2024.7.0-canary.8` に上げる + - Sora C++ SDK に追従して H.264 専用となっていた `NvCodecH264Encoder` を `NvCodecVideoEncoder` に変更する - WEBRTC_BUILD_VERSION を `m127.6533.1.1` にアップデート - BOOST_VERSION を 1.85.0 にアップデート - CMAKE_VERSION を 3.29.6 にアップデート From 5c52bf53ddbdc3ea454ddd93241fba99bc03ae7f Mon Sep 17 00:00:00 2001 From: miosakuma Date: Mon, 29 Jul 2024 15:44:29 +0900 Subject: [PATCH 21/22] =?UTF-8?q?Sora=20C++=20SDK=20=E3=82=92=202024.7.0?= =?UTF-8?q?=20=E3=81=AB=E3=81=82=E3=81=92=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 2 +- VERSION | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index a6c9abb..b75115b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,7 +15,7 @@ - @melpon - [CHANGE] `--webrtc-build-dir`, `--webrtc-build-args` を `--local-webrtc-build-dir` と `--local-webrtc-build-args` に変更する - @melpon -- [UPDATE] Sora C++ SDK を `2024.7.0-canary.8` に上げる +- [UPDATE] Sora C++ SDK を `2024.7.0` に上げる - Sora C++ SDK に追従して H.264 専用となっていた `NvCodecH264Encoder` を `NvCodecVideoEncoder` に変更する - WEBRTC_BUILD_VERSION を `m127.6533.1.1` にアップデート - BOOST_VERSION を 1.85.0 にアップデート diff --git a/VERSION b/VERSION index dde3751..b02d5b7 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ SORA_UNITY_SDK_VERSION=2024.3.0 -SORA_CPP_SDK_VERSION=2024.7.0-canary.8 +SORA_CPP_SDK_VERSION=2024.7.0 WEBRTC_BUILD_VERSION=m127.6533.1.1 BOOST_VERSION=1.85.0 CMAKE_VERSION=3.29.6 From 2ae9cc6afa9862b94df6daf394cb0933ece47091 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Mon, 29 Jul 2024 16:28:30 +0900 Subject: [PATCH 22/22] =?UTF-8?q?2024.4.0=20=E3=83=AA=E3=83=AA=E3=83=BC?= =?UTF-8?q?=E3=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 2 ++ README.md | 4 ++-- VERSION | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index b75115b..3208faf 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,8 @@ ## develop +## 2024.4.0 (2024-07-29) + - [CHANGE] `--sora-dir`, `--sora-args` を `--local-sora-cpp-sdk-dir` と `--local-sora-cpp-sdk-args` に変更する - @melpon - [CHANGE] `--webrtc-build-dir`, `--webrtc-build-args` を `--local-webrtc-build-dir` と `--local-webrtc-build-args` に変更する diff --git a/README.md b/README.md index 44bdd69..d9eb0a2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Sora Unity SDK -[![libwebrtc](https://img.shields.io/badge/libwebrtc-122.6261-blue.svg)](https://chromium.googlesource.com/external/webrtc/+/branch-heads/6261) +[![libwebrtc](https://img.shields.io/badge/libwebrtc-127.6533-blue.svg)](https://chromium.googlesource.com/external/webrtc/+/branch-heads/6533) [![GitHub tag](https://img.shields.io/github/tag/shiguredo/sora-unity-sdk.svg)](https://github.com/shiguredo/sora-unity-sdk) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Actions Status](https://github.com/shiguredo/sora-unity-sdk/workflows/build/badge.svg)](https://github.com/shiguredo/sora-unity-sdk/actions) @@ -37,7 +37,7 @@ Please read https://github.com/shiguredo/oss/blob/master/README.en.md before use ## システム条件 -- WebRTC SFU Sora 2023.2.0 以降 +- WebRTC SFU Sora 2024.1.0 以降 ## 対応プラットフォーム diff --git a/VERSION b/VERSION index b02d5b7..1490803 100644 --- a/VERSION +++ b/VERSION @@ -1,4 +1,4 @@ -SORA_UNITY_SDK_VERSION=2024.3.0 +SORA_UNITY_SDK_VERSION=2024.4.0 SORA_CPP_SDK_VERSION=2024.7.0 WEBRTC_BUILD_VERSION=m127.6533.1.1 BOOST_VERSION=1.85.0