From d743250930072a6a269f85bb907df3a170035cb1 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Mon, 26 Dec 2022 10:54:02 +0900 Subject: [PATCH 1/8] =?UTF-8?q?CHANGES=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 3e86c65f..d6592bf0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,7 +11,7 @@ ## develop -## 2022.18.0 (2022-12-25) +## 2022.19.0 (2022-12-25) - [CHANGE] Lyra を静的ライブラリ化 - @melpon From 7ba6c5a75b83b4cc907c7e099f900d979b1782d2 Mon Sep 17 00:00:00 2001 From: melpon Date: Mon, 26 Dec 2022 17:28:27 +0900 Subject: [PATCH 2/8] =?UTF-8?q?Boost=20=E3=82=92=201.81.0=20=E3=81=AB?= =?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 --- CHANGES.md | 3 +++ VERSION | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index d6592bf0..6efbe27a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,9 @@ ## develop +- [UPDATE] Boost を 1.81.0 に上げる + - @melpon + ## 2022.19.0 (2022-12-25) - [CHANGE] Lyra を静的ライブラリ化 diff --git a/VERSION b/VERSION index 8b73ac2a..13b79f2b 100644 --- a/VERSION +++ b/VERSION @@ -1,6 +1,6 @@ SORA_CPP_SDK_VERSION=2022.19.0 WEBRTC_BUILD_VERSION=m107.5304.4.1 -BOOST_VERSION=1.80.0 +BOOST_VERSION=1.81.0 CMAKE_VERSION=3.23.1 BAZEL_VERSION=5.3.2 LYRA_VERSION=1.3.0 From 52c55378961bae929e4ef69b9670ea273b54378d Mon Sep 17 00:00:00 2001 From: melpon Date: Mon, 26 Dec 2022 17:38:26 +0900 Subject: [PATCH 3/8] =?UTF-8?q?WebRTC=20=E3=82=92=20m109.5414.2.0=20?= =?UTF-8?q?=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 --- CHANGES.md | 2 ++ VERSION | 2 +- src/sora_default_client.cpp | 23 ++++++++++------------- src/sora_peer_connection_factory.cpp | 23 +++++++++++------------ src/sora_video_decoder_factory.cpp | 4 ++-- 5 files changed, 26 insertions(+), 28 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 6efbe27a..b86adb16 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,8 @@ ## develop +- [UPDATE] WebRTC を m109.5414.2.0 に上げる + - @melpon - [UPDATE] Boost を 1.81.0 に上げる - @melpon diff --git a/VERSION b/VERSION index 13b79f2b..1bfc8018 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ SORA_CPP_SDK_VERSION=2022.19.0 -WEBRTC_BUILD_VERSION=m107.5304.4.1 +WEBRTC_BUILD_VERSION=m109.5414.2.0 BOOST_VERSION=1.81.0 CMAKE_VERSION=3.23.1 BAZEL_VERSION=5.3.2 diff --git a/src/sora_default_client.cpp b/src/sora_default_client.cpp index 3beccb51..2fd50775 100644 --- a/src/sora_default_client.cpp +++ b/src/sora_default_client.cpp @@ -57,19 +57,16 @@ bool SoraDefaultClient::Configure() { // media_dependencies cricket::MediaEngineDependencies media_dependencies; media_dependencies.task_queue_factory = dependencies.task_queue_factory.get(); - media_dependencies.adm = - worker_thread_->Invoke>( - RTC_FROM_HERE, [&] { - sora::AudioDeviceModuleConfig config; - if (!config_.use_audio_device) { - config.audio_layer = webrtc::AudioDeviceModule::kDummyAudio; - } - config.task_queue_factory = dependencies.task_queue_factory.get(); - config.jni_env = sora::GetJNIEnv(); - config.application_context = - GetAndroidApplicationContext(config.jni_env); - return sora::CreateAudioDeviceModule(config); - }); + media_dependencies.adm = worker_thread_->BlockingCall([&] { + sora::AudioDeviceModuleConfig config; + if (!config_.use_audio_device) { + config.audio_layer = webrtc::AudioDeviceModule::kDummyAudio; + } + config.task_queue_factory = dependencies.task_queue_factory.get(); + config.jni_env = sora::GetJNIEnv(); + config.application_context = GetAndroidApplicationContext(config.jni_env); + return sora::CreateAudioDeviceModule(config); + }); media_dependencies.audio_encoder_factory = sora::CreateBuiltinAudioEncoderFactory(); diff --git a/src/sora_peer_connection_factory.cpp b/src/sora_peer_connection_factory.cpp index 7fea3651..1a07a29e 100644 --- a/src/sora_peer_connection_factory.cpp +++ b/src/sora_peer_connection_factory.cpp @@ -42,18 +42,17 @@ CreateModularPeerConnectionFactoryWithContext( using result_type = std::pair, rtc::scoped_refptr>; - auto p = dependencies.signaling_thread->Invoke( - RTC_FROM_HERE, [&dependencies]() { - auto factory = - PeerConnectionFactoryWithContext::Create(std::move(dependencies)); - if (factory == nullptr) { - return result_type(nullptr, nullptr); - } - auto context = factory->GetContext(); - auto proxy = webrtc::PeerConnectionFactoryProxy::Create( - factory->signaling_thread(), factory->worker_thread(), factory); - return result_type(proxy, context); - }); + auto p = dependencies.signaling_thread->BlockingCall([&dependencies]() { + auto factory = + PeerConnectionFactoryWithContext::Create(std::move(dependencies)); + if (factory == nullptr) { + return result_type(nullptr, nullptr); + } + auto context = factory->GetContext(); + auto proxy = webrtc::PeerConnectionFactoryProxy::Create( + factory->signaling_thread(), factory->worker_thread(), factory); + return result_type(proxy, context); + }); context = p.second; return p.first; } diff --git a/src/sora_video_decoder_factory.cpp b/src/sora_video_decoder_factory.cpp index d9c978e8..a94060db 100644 --- a/src/sora_video_decoder_factory.cpp +++ b/src/sora_video_decoder_factory.cpp @@ -12,7 +12,7 @@ #include #if !defined(__arm__) || defined(__aarch64__) || defined(__ARM_NEON__) -#include +#include #endif #if defined(__APPLE__) @@ -250,7 +250,7 @@ SoraVideoDecoderFactoryConfig GetSoftwareOnlyVideoDecoderFactoryConfig() { #if !defined(__arm__) || defined(__aarch64__) || defined(__ARM_NEON__) config.decoders.push_back(VideoDecoderConfig( webrtc::kVideoCodecAV1, - [](auto format) { return webrtc::CreateLibaomAv1Decoder(); })); + [](auto format) { return webrtc::CreateDav1dDecoder(); })); #endif return config; } From d61feff46f4f6473bda826306236c6a75c914354 Mon Sep 17 00:00:00 2001 From: melpon Date: Mon, 26 Dec 2022 17:44:47 +0900 Subject: [PATCH 4/8] CRLF -> LF --- include/sora/i420_encoder_adapter.h | 70 ++++++------ include/sora/sora_peer_connection_factory.h | 32 +++--- src/hwenc_vpl/vpl_utils.h | 56 +++++----- src/i420_encoder_adapter.cpp | 110 +++++++++--------- src/sora_peer_connection_factory.cpp | 118 ++++++++++---------- 5 files changed, 193 insertions(+), 193 deletions(-) diff --git a/include/sora/i420_encoder_adapter.h b/include/sora/i420_encoder_adapter.h index aa21840e..dcef0588 100644 --- a/include/sora/i420_encoder_adapter.h +++ b/include/sora/i420_encoder_adapter.h @@ -1,36 +1,36 @@ -#ifndef SORA_I420_ENCODER_ADAPTER_H_ -#define SORA_I420_ENCODER_ADAPTER_H_ - -#include - -// WebRTC -#include - -namespace sora { - -// kNative なフレームを I420 にするアダプタ -class I420EncoderAdapter : public webrtc::VideoEncoder { - public: - I420EncoderAdapter(std::shared_ptr encoder); - - void SetFecControllerOverride( - webrtc::FecControllerOverride* fec_controller_override) override; - int Release() override; - int InitEncode(const webrtc::VideoCodec* codec_settings, - const webrtc::VideoEncoder::Settings& settings) override; - int Encode(const webrtc::VideoFrame& input_image, - const std::vector* frame_types) override; - int RegisterEncodeCompleteCallback( - webrtc::EncodedImageCallback* callback) override; - void SetRates(const RateControlParameters& parameters) override; - void OnPacketLossRateUpdate(float packet_loss_rate) override; - void OnRttUpdate(int64_t rtt_ms) override; - void OnLossNotification(const LossNotification& loss_notification) override; - EncoderInfo GetEncoderInfo() const override; - - private: - std::shared_ptr encoder_; -}; - -} // namespace sora +#ifndef SORA_I420_ENCODER_ADAPTER_H_ +#define SORA_I420_ENCODER_ADAPTER_H_ + +#include + +// WebRTC +#include + +namespace sora { + +// kNative なフレームを I420 にするアダプタ +class I420EncoderAdapter : public webrtc::VideoEncoder { + public: + I420EncoderAdapter(std::shared_ptr encoder); + + void SetFecControllerOverride( + webrtc::FecControllerOverride* fec_controller_override) override; + int Release() override; + int InitEncode(const webrtc::VideoCodec* codec_settings, + const webrtc::VideoEncoder::Settings& settings) override; + int Encode(const webrtc::VideoFrame& input_image, + const std::vector* frame_types) override; + int RegisterEncodeCompleteCallback( + webrtc::EncodedImageCallback* callback) override; + void SetRates(const RateControlParameters& parameters) override; + void OnPacketLossRateUpdate(float packet_loss_rate) override; + void OnRttUpdate(int64_t rtt_ms) override; + void OnLossNotification(const LossNotification& loss_notification) override; + EncoderInfo GetEncoderInfo() const override; + + private: + std::shared_ptr encoder_; +}; + +} // namespace sora #endif \ No newline at end of file diff --git a/include/sora/sora_peer_connection_factory.h b/include/sora/sora_peer_connection_factory.h index 61cf362d..e0978d4f 100644 --- a/include/sora/sora_peer_connection_factory.h +++ b/include/sora/sora_peer_connection_factory.h @@ -1,17 +1,17 @@ -#ifndef SORA_SORA_PEER_CONNECTION_FACTORY_H_ -#define SORA_SORA_PEER_CONNECTION_FACTORY_H_ - -// WebRTC -#include -#include -#include - -namespace sora { - -rtc::scoped_refptr -CreateModularPeerConnectionFactoryWithContext( - webrtc::PeerConnectionFactoryDependencies dependencies, - rtc::scoped_refptr& context); - -} +#ifndef SORA_SORA_PEER_CONNECTION_FACTORY_H_ +#define SORA_SORA_PEER_CONNECTION_FACTORY_H_ + +// WebRTC +#include +#include +#include + +namespace sora { + +rtc::scoped_refptr +CreateModularPeerConnectionFactoryWithContext( + webrtc::PeerConnectionFactoryDependencies dependencies, + rtc::scoped_refptr& context); + +} #endif \ No newline at end of file diff --git a/src/hwenc_vpl/vpl_utils.h b/src/hwenc_vpl/vpl_utils.h index 3cae1258..c28b94e1 100644 --- a/src/hwenc_vpl/vpl_utils.h +++ b/src/hwenc_vpl/vpl_utils.h @@ -1,28 +1,28 @@ -#ifndef SORA_HWENC_VPL_VPL_UTILS_H_ -#define SORA_HWENC_VPL_VPL_UTILS_H_ - -// WebRTC -#include - -// oneVPL -#include - -#define VPL_CHECK_RESULT(P, X, ERR) \ - { \ - if ((X) > (P)) { \ - RTC_LOG(LS_ERROR) << "oneVPL Error: " << ERR; \ - throw ERR; \ - } \ - } - -namespace sora { - -static mfxU32 ToMfxCodec(webrtc::VideoCodecType codec) { - return codec == webrtc::kVideoCodecVP8 ? MFX_CODEC_VP8 - : codec == webrtc::kVideoCodecVP9 ? MFX_CODEC_VP9 - : codec == webrtc::kVideoCodecH264 ? MFX_CODEC_AVC - : MFX_CODEC_AV1; -} - -} // namespace sora -#endif +#ifndef SORA_HWENC_VPL_VPL_UTILS_H_ +#define SORA_HWENC_VPL_VPL_UTILS_H_ + +// WebRTC +#include + +// oneVPL +#include + +#define VPL_CHECK_RESULT(P, X, ERR) \ + { \ + if ((X) > (P)) { \ + RTC_LOG(LS_ERROR) << "oneVPL Error: " << ERR; \ + throw ERR; \ + } \ + } + +namespace sora { + +static mfxU32 ToMfxCodec(webrtc::VideoCodecType codec) { + return codec == webrtc::kVideoCodecVP8 ? MFX_CODEC_VP8 + : codec == webrtc::kVideoCodecVP9 ? MFX_CODEC_VP9 + : codec == webrtc::kVideoCodecH264 ? MFX_CODEC_AVC + : MFX_CODEC_AV1; +} + +} // namespace sora +#endif diff --git a/src/i420_encoder_adapter.cpp b/src/i420_encoder_adapter.cpp index 5e15bec8..963b799a 100644 --- a/src/i420_encoder_adapter.cpp +++ b/src/i420_encoder_adapter.cpp @@ -1,56 +1,56 @@ -#include "sora/i420_encoder_adapter.h" - -#include - -namespace sora { - -I420EncoderAdapter::I420EncoderAdapter( - std::shared_ptr encoder) - : encoder_(encoder) {} - -void I420EncoderAdapter::SetFecControllerOverride( - webrtc::FecControllerOverride* fec_controller_override) { - encoder_->SetFecControllerOverride(fec_controller_override); -} -int I420EncoderAdapter::Release() { - return encoder_->Release(); -} -int I420EncoderAdapter::InitEncode( - const webrtc::VideoCodec* codec_settings, - const webrtc::VideoEncoder::Settings& settings) { - return encoder_->InitEncode(codec_settings, settings); -} -int I420EncoderAdapter::Encode( - const webrtc::VideoFrame& input_image, - const std::vector* frame_types) { - auto frame = input_image; - auto buffer = frame.video_frame_buffer(); - if (buffer->type() == webrtc::VideoFrameBuffer::Type::kNative) { - frame.set_video_frame_buffer(buffer->ToI420()); - } - return encoder_->Encode(frame, frame_types); -} - -int I420EncoderAdapter::RegisterEncodeCompleteCallback( - webrtc::EncodedImageCallback* callback) { - return encoder_->RegisterEncodeCompleteCallback(callback); -} -void I420EncoderAdapter::SetRates(const RateControlParameters& parameters) { - encoder_->SetRates(parameters); -} -void I420EncoderAdapter::OnPacketLossRateUpdate(float packet_loss_rate) { - encoder_->OnPacketLossRateUpdate(packet_loss_rate); -} -void I420EncoderAdapter::OnRttUpdate(int64_t rtt_ms) { - encoder_->OnRttUpdate(rtt_ms); -} -void I420EncoderAdapter::OnLossNotification( - const LossNotification& loss_notification) { - encoder_->OnLossNotification(loss_notification); -} - -webrtc::VideoEncoder::EncoderInfo I420EncoderAdapter::GetEncoderInfo() const { - return encoder_->GetEncoderInfo(); -} - +#include "sora/i420_encoder_adapter.h" + +#include + +namespace sora { + +I420EncoderAdapter::I420EncoderAdapter( + std::shared_ptr encoder) + : encoder_(encoder) {} + +void I420EncoderAdapter::SetFecControllerOverride( + webrtc::FecControllerOverride* fec_controller_override) { + encoder_->SetFecControllerOverride(fec_controller_override); +} +int I420EncoderAdapter::Release() { + return encoder_->Release(); +} +int I420EncoderAdapter::InitEncode( + const webrtc::VideoCodec* codec_settings, + const webrtc::VideoEncoder::Settings& settings) { + return encoder_->InitEncode(codec_settings, settings); +} +int I420EncoderAdapter::Encode( + const webrtc::VideoFrame& input_image, + const std::vector* frame_types) { + auto frame = input_image; + auto buffer = frame.video_frame_buffer(); + if (buffer->type() == webrtc::VideoFrameBuffer::Type::kNative) { + frame.set_video_frame_buffer(buffer->ToI420()); + } + return encoder_->Encode(frame, frame_types); +} + +int I420EncoderAdapter::RegisterEncodeCompleteCallback( + webrtc::EncodedImageCallback* callback) { + return encoder_->RegisterEncodeCompleteCallback(callback); +} +void I420EncoderAdapter::SetRates(const RateControlParameters& parameters) { + encoder_->SetRates(parameters); +} +void I420EncoderAdapter::OnPacketLossRateUpdate(float packet_loss_rate) { + encoder_->OnPacketLossRateUpdate(packet_loss_rate); +} +void I420EncoderAdapter::OnRttUpdate(int64_t rtt_ms) { + encoder_->OnRttUpdate(rtt_ms); +} +void I420EncoderAdapter::OnLossNotification( + const LossNotification& loss_notification) { + encoder_->OnLossNotification(loss_notification); +} + +webrtc::VideoEncoder::EncoderInfo I420EncoderAdapter::GetEncoderInfo() const { + return encoder_->GetEncoderInfo(); +} + } // namespace sora \ No newline at end of file diff --git a/src/sora_peer_connection_factory.cpp b/src/sora_peer_connection_factory.cpp index 1a07a29e..ec9b62a6 100644 --- a/src/sora_peer_connection_factory.cpp +++ b/src/sora_peer_connection_factory.cpp @@ -1,60 +1,60 @@ -#include "sora/sora_peer_connection_factory.h" - -// WebRTC -#include -#include - -namespace sora { - -// webrtc::PeerConnectionFactory から ConnectionContext を取り出す方法が無いので、 -// 継承して無理やり使えるようにする -class PeerConnectionFactoryWithContext : public webrtc::PeerConnectionFactory { - public: - PeerConnectionFactoryWithContext( - webrtc::PeerConnectionFactoryDependencies dependencies) - : PeerConnectionFactoryWithContext( - webrtc::ConnectionContext::Create(&dependencies), - &dependencies) {} - PeerConnectionFactoryWithContext( - rtc::scoped_refptr context, - webrtc::PeerConnectionFactoryDependencies* dependencies) - : conn_context_(context), - webrtc::PeerConnectionFactory(context, dependencies) {} - - static rtc::scoped_refptr Create( - webrtc::PeerConnectionFactoryDependencies dependencies) { - return rtc::make_ref_counted( - std::move(dependencies)); - } - - rtc::scoped_refptr GetContext() const { - return conn_context_; - } - - private: - rtc::scoped_refptr conn_context_; -}; - -rtc::scoped_refptr -CreateModularPeerConnectionFactoryWithContext( - webrtc::PeerConnectionFactoryDependencies dependencies, - rtc::scoped_refptr& context) { - using result_type = - std::pair, - rtc::scoped_refptr>; - auto p = dependencies.signaling_thread->BlockingCall([&dependencies]() { - auto factory = - PeerConnectionFactoryWithContext::Create(std::move(dependencies)); - if (factory == nullptr) { - return result_type(nullptr, nullptr); - } - auto context = factory->GetContext(); - auto proxy = webrtc::PeerConnectionFactoryProxy::Create( - factory->signaling_thread(), factory->worker_thread(), factory); - return result_type(proxy, context); - }); - context = p.second; - return p.first; -} - +#include "sora/sora_peer_connection_factory.h" + +// WebRTC +#include +#include + +namespace sora { + +// webrtc::PeerConnectionFactory から ConnectionContext を取り出す方法が無いので、 +// 継承して無理やり使えるようにする +class PeerConnectionFactoryWithContext : public webrtc::PeerConnectionFactory { + public: + PeerConnectionFactoryWithContext( + webrtc::PeerConnectionFactoryDependencies dependencies) + : PeerConnectionFactoryWithContext( + webrtc::ConnectionContext::Create(&dependencies), + &dependencies) {} + PeerConnectionFactoryWithContext( + rtc::scoped_refptr context, + webrtc::PeerConnectionFactoryDependencies* dependencies) + : conn_context_(context), + webrtc::PeerConnectionFactory(context, dependencies) {} + + static rtc::scoped_refptr Create( + webrtc::PeerConnectionFactoryDependencies dependencies) { + return rtc::make_ref_counted( + std::move(dependencies)); + } + + rtc::scoped_refptr GetContext() const { + return conn_context_; + } + + private: + rtc::scoped_refptr conn_context_; +}; + +rtc::scoped_refptr +CreateModularPeerConnectionFactoryWithContext( + webrtc::PeerConnectionFactoryDependencies dependencies, + rtc::scoped_refptr& context) { + using result_type = + std::pair, + rtc::scoped_refptr>; + auto p = dependencies.signaling_thread->BlockingCall([&dependencies]() { + auto factory = + PeerConnectionFactoryWithContext::Create(std::move(dependencies)); + if (factory == nullptr) { + return result_type(nullptr, nullptr); + } + auto context = factory->GetContext(); + auto proxy = webrtc::PeerConnectionFactoryProxy::Create( + factory->signaling_thread(), factory->worker_thread(), factory); + return result_type(proxy, context); + }); + context = p.second; + return p.first; +} + } // namespace sora \ No newline at end of file From d6b56facb1498077e66618fa4a3c8937dbaedd46 Mon Sep 17 00:00:00 2001 From: melpon Date: Wed, 11 Jan 2023 23:39:33 +0900 Subject: [PATCH 5/8] =?UTF-8?q?Android=20=E3=81=A7=E3=83=93=E3=83=AB?= =?UTF-8?q?=E3=83=89=E3=81=8C=E9=80=9A=E3=82=89=E3=81=AA=E3=81=84=E3=81=AE?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- run.py | 4 +++- third_party/lyra/toolchain/android/BUILD.tpl | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/run.py b/run.py index 6ffc344c..08b9c58a 100644 --- a/run.py +++ b/run.py @@ -605,7 +605,8 @@ def install_boost( sysroot = os.path.join(android_ndk, 'toolchains', 'llvm', 'prebuilt', 'linux-x86_64', 'sysroot') f.write(f"using clang \ : android \ - : {os.path.join(bin, f'aarch64-linux-android{native_api_level}-clang++')} \ + : {os.path.join(bin, f'clang++')} \ + --target=aarch64-none-linux-android{native_api_level} \ --sysroot={sysroot} \ : {os.path.join(bin, 'llvm-ar')} \ {os.path.join(bin, 'llvm-ranlib')} \ @@ -1502,6 +1503,7 @@ def main(): # r23b には ANDROID_CPP_FEATURES=exceptions でも例外が設定されない問題がある # https://github.com/android/ndk/issues/1618 cmake_args.append('-DCMAKE_ANDROID_EXCEPTIONS=ON') + cmake_args.append('-DANDROID_NDK=OFF') cmake_args.append(f"-DSORA_WEBRTC_LDFLAGS={os.path.join(install_dir, 'webrtc.ldflags')}") if platform.target.os == 'jetson': sysroot = os.path.join(install_dir, 'rootfs') diff --git a/third_party/lyra/toolchain/android/BUILD.tpl b/third_party/lyra/toolchain/android/BUILD.tpl index 74396efc..3738be13 100644 --- a/third_party/lyra/toolchain/android/BUILD.tpl +++ b/third_party/lyra/toolchain/android/BUILD.tpl @@ -26,8 +26,8 @@ cc_toolchain_config( ], tool_paths = { "ar": '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar', - "cpp": '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android%{android_api}-clang++', - "gcc": '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android%{android_api}-clang', + "cpp": '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++', + "gcc": '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/bin/clang', "ld": '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/bin/lld', "nm": '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-nm', "strip": '%{android_ndk}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip', @@ -54,7 +54,7 @@ cc_toolchain_config( # Keep stack frames for debugging, even in opt mode. "-fno-omit-frame-pointer", - "--target=aarch64-linux-android", + "--target=aarch64-none-linux-android%{android_api}", "-D__ANDROID_API__=%{android_api}", ], dbg_compile_flags = [ @@ -83,6 +83,7 @@ cc_toolchain_config( # size in some cases?). "-ffunction-sections", "-fdata-sections", + "-fexperimental-relative-c++-abi-vtables", ], # conly_flags = [], cxx_flags = [ @@ -99,7 +100,7 @@ cc_toolchain_config( "-Wl,-z,relro,-z,now", "-B", "%{llvm_dir}/clang/bin/", "-L", "%{webrtc_library_dir}", - "--target=aarch64-linux-android", + "--target=aarch64-none-linux-android%{android_api}", ], # archive_flags = [], link_libs = [ From 756445ef43750e002c78f5d2d428b9b3d05f578e Mon Sep 17 00:00:00 2001 From: melpon Date: Thu, 12 Jan 2023 03:07:13 +0900 Subject: [PATCH 6/8] =?UTF-8?q?oneVPL=20=E3=82=92=20v2023.1.1=20=E3=81=AB?= =?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 --- CHANGES.md | 2 ++ VERSION | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index b86adb16..f3e9e532 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,6 +15,8 @@ - @melpon - [UPDATE] Boost を 1.81.0 に上げる - @melpon +- [UPDATE] oneVPL を v2023.1.1 に上げる + - @melpon ## 2022.19.0 (2022-12-25) diff --git a/VERSION b/VERSION index 1bfc8018..96f3cad7 100644 --- a/VERSION +++ b/VERSION @@ -8,4 +8,4 @@ CUDA_VERSION=10.2.89-1 ANDROID_NDK_VERSION=r25b ANDROID_NATIVE_API_LEVEL=29 ANDROID_SDK_CMDLINE_TOOLS_VERSION=8092744 -VPL_VERSION=v2022.1.0 +VPL_VERSION=v2023.1.1 From 0aa1f0948625def9fe6bde68feef1b310172dbf7 Mon Sep 17 00:00:00 2001 From: melpon Date: Thu, 12 Jan 2023 12:49:18 +0900 Subject: [PATCH 7/8] =?UTF-8?q?SoraSignalingConfig=20=E3=81=AB=20audio=5Fs?= =?UTF-8?q?treaming=5Flanguage=5Fcode=20=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 2 ++ include/sora/sora_signaling.h | 1 + src/sora_signaling.cpp | 4 ++++ 3 files changed, 7 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index f3e9e532..010f35c0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,8 @@ ## develop +- [ADD] SoraSignalingConfig に audio_streaming_language_code を追加 + - @melpon - [UPDATE] WebRTC を m109.5414.2.0 に上げる - @melpon - [UPDATE] Boost を 1.81.0 に上げる diff --git a/include/sora/sora_signaling.h b/include/sora/sora_signaling.h index c860a84f..6a3ca56e 100644 --- a/include/sora/sora_signaling.h +++ b/include/sora/sora_signaling.h @@ -68,6 +68,7 @@ struct SoraSignalingConfig { boost::json::value audio_codec_lyra_params; int video_bit_rate = 0; int audio_bit_rate = 0; + std::string audio_streaming_language_code; boost::json::value metadata; boost::json::value signaling_notify_metadata; std::string role = "sendonly"; diff --git a/src/sora_signaling.cpp b/src/sora_signaling.cpp index e13ad692..eeec2c07 100644 --- a/src/sora_signaling.cpp +++ b/src/sora_signaling.cpp @@ -307,6 +307,10 @@ void SoraSignaling::DoSendConnect(bool redirect) { } } + if (!config_.audio_streaming_language_code.empty()) { + m["audio_streaming_language_code"] = config_.audio_streaming_language_code; + } + if (config_.data_channel_signaling) { m["data_channel_signaling"] = *config_.data_channel_signaling; } From 63d22b15d252e0b6b9a507435c1a8a02192d194e Mon Sep 17 00:00:00 2001 From: melpon Date: Thu, 12 Jan 2023 16:00:57 +0900 Subject: [PATCH 8/8] =?UTF-8?q?2023.1.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 ++ VERSION | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 010f35c0..34df030c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,8 @@ ## develop +## 2023.1.0 (2023-01-12) + - [ADD] SoraSignalingConfig に audio_streaming_language_code を追加 - @melpon - [UPDATE] WebRTC を m109.5414.2.0 に上げる diff --git a/VERSION b/VERSION index 96f3cad7..c7fe62b6 100644 --- a/VERSION +++ b/VERSION @@ -1,4 +1,4 @@ -SORA_CPP_SDK_VERSION=2022.19.0 +SORA_CPP_SDK_VERSION=2023.1.0 WEBRTC_BUILD_VERSION=m109.5414.2.0 BOOST_VERSION=1.81.0 CMAKE_VERSION=3.23.1