From 7ac571bde14363b7072b35531f94718e95009592 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 10 Sep 2023 16:01:17 +0000 Subject: [PATCH 01/21] Update actions/checkout action to v4 --- .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 c2235a78..99638149 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK uses: actions/setup-java@v3 with: From 271b72b5d3397b1ea6c8ff309586fe1c95ddf531 Mon Sep 17 00:00:00 2001 From: enm10k Date: Thu, 12 Oct 2023 17:48:45 +0900 Subject: [PATCH 02/21] =?UTF-8?q?H.265=20=E3=81=AB=E5=AF=BE=E5=BF=9C?= =?UTF-8?q?=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 3 +++ .../jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt | 2 ++ 2 files changed, 5 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 71e3a88a..34aa5501 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,9 @@ ## develop +- [ADD] H.265 に対応する + - @enm10k + ## 2023.2.0 - [UPDATE] システム条件を更新する diff --git a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt index ad868fe8..a70de719 100644 --- a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt +++ b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt @@ -13,6 +13,8 @@ class SoraVideoOption { enum class Codec { /** H.264 */ H264, + /** H.265 */ + H265, /** VP8 */ VP8, /** VP9 */ From 0f435b6b06c81ee6d6c3275bc67057dd3fd895c3 Mon Sep 17 00:00:00 2001 From: enm10k Date: Fri, 13 Oct 2023 15:59:33 +0900 Subject: [PATCH 03/21] =?UTF-8?q?=E8=A7=A3=E5=83=8F=E5=BA=A6=E3=81=AB=20qH?= =?UTF-8?q?D=20(960x540,=20540x960)=20=E3=82=92=E8=BF=BD=E5=8A=A0=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 | 4 ++++ .../jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 34aa5501..927bfa5e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,8 +11,12 @@ ## develop +## feature/h265 + - [ADD] H.265 に対応する - @enm10k +- [UPDATE] 解像度に qHD (960x540, 540x960) を追加する + - @enm10k ## 2023.2.0 diff --git a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt index a70de719..2f1b4cff 100644 --- a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt +++ b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraVideoOption.kt @@ -45,6 +45,8 @@ class SoraVideoOption { val QVGA = Point(320, 240) /** VGA 640x480 */ val VGA = Point(640, 480) + /** qHD 960x540 */ + val qHD = Point(960, 540) /** HD 1280x720 */ val HD = Point(1280, 720) /** FHD 1920x1080 */ @@ -75,6 +77,8 @@ class SoraVideoOption { val QVGA = Point(240, 320) /** VGA 480x640 */ val VGA = Point(480, 640) + /** qHD 540x960 */ + val qHD = Point(540, 960) /** HD 720x1280 */ val HD = Point(720, 1280) /** FHD 1080x1920 */ From bcbdded4918d0945af8462159da54b79849483f1 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Fri, 27 Oct 2023 23:34:25 +0900 Subject: [PATCH 04/21] =?UTF-8?q?libwebrtc=20=E3=82=92=20119.6045.2.1=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 | 6 ++++-- README.md | 2 +- build.gradle | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 927bfa5e..f31fcb1b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -13,10 +13,12 @@ ## feature/h265 -- [ADD] H.265 に対応する - - @enm10k +- [UPDATE] libwebrtc を 119.6045.2.1 に上げる + - @miosakuma - [UPDATE] 解像度に qHD (960x540, 540x960) を追加する - @enm10k +- [ADD] H.265 に対応する + - @enm10k ## 2023.2.0 diff --git a/README.md b/README.md index 1f31d14f..9e1aa21f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Sora Android SDK [![Release](https://jitpack.io/v/shiguredo/sora-android-sdk.svg)](https://jitpack.io/#shiguredo/sora-android-sdk) -[![libwebrtc](https://img.shields.io/badge/libwebrtc-115.5790-blue.svg)](https://chromium.googlesource.com/external/webrtc/+/branch-heads/5790) +[![libwebrtc](https://img.shields.io/badge/libwebrtc-119.6045-blue.svg)](https://chromium.googlesource.com/external/webrtc/+/branch-heads/6045) [![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/shiguredo/sora-android-sdk.svg)](https://github.com/shiguredo/sora-android-sdk.svg) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) diff --git a/build.gradle b/build.gradle index 2357ec64..2351d74b 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'org.jetbrains.dokka' buildscript { ext.kotlin_version = '1.8.10' - ext.libwebrtc_version = '115.5790.8.0' + ext.libwebrtc_version = '119.6045.2.1' ext.dokka_version = '1.8.10' From a8a6b11ec93da2b1f8aefb14c8ae8a39e5b3232d Mon Sep 17 00:00:00 2001 From: enm10k Date: Wed, 1 Nov 2023 12:02:02 +0900 Subject: [PATCH 05/21] =?UTF-8?q?CHANGES.md=20=E3=82=92=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=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 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index f31fcb1b..df6ebfc6 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,8 +11,6 @@ ## develop -## feature/h265 - - [UPDATE] libwebrtc を 119.6045.2.1 に上げる - @miosakuma - [UPDATE] 解像度に qHD (960x540, 540x960) を追加する From 66b198483cb557195b64e5e8a5ea94e954eecbca Mon Sep 17 00:00:00 2001 From: enm10k Date: Tue, 14 Nov 2023 10:35:45 +0900 Subject: [PATCH 06/21] =?UTF-8?q?=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=81=AE=E5=8F=96=E5=BE=97=E3=81=AB=20git=20describe?= =?UTF-8?q?=20=E3=81=99=E3=82=8B=E3=81=AE=E3=82=92=E6=AD=A2=E3=82=81?= =?UTF-8?q?=E3=82=8B=20(develop=20=E3=83=96=E3=83=A9=E3=83=B3=E3=83=81?= =?UTF-8?q?=E3=81=AE=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=81=8C?= =?UTF-8?q?=E6=84=8F=E5=9B=B3=E3=81=9B=E3=81=AC=E5=80=A4=E3=81=AB=E3=81=AA?= =?UTF-8?q?=E3=82=8B=E3=81=9F=E3=82=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sora-android-sdk/build.gradle | 1 - .../src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt | 5 ++--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/sora-android-sdk/build.gradle b/sora-android-sdk/build.gradle index 8ad4ea47..e48b0e8a 100644 --- a/sora-android-sdk/build.gradle +++ b/sora-android-sdk/build.gradle @@ -13,7 +13,6 @@ android { minSdkVersion 21 targetSdkVersion 32 - buildConfigField("String", "VERSION_NAME", "\"${grgit.describe()}\"") buildConfigField("String", "REVISION", "\"${grgit.head().abbreviatedId}\"") buildConfigField("String", "LIBWEBRTC_VERSION", "\"${libwebrtc_version}\"") } diff --git a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt index 3947e74a..f5860b36 100644 --- a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt +++ b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt @@ -5,12 +5,11 @@ import jp.shiguredo.sora.sdk.BuildConfig import org.webrtc.WebrtcBuildVersion class SDKInfo { - companion object { + const val version = "2023.2.0" fun sdkInfo(): String { - return "Sora Android SDK " + BuildConfig.VERSION_NAME + - " (" + BuildConfig.REVISION + ")" + return "Sora Android SDK $version (${BuildConfig.REVISION})" } fun libwebrtcInfo(): String { From c3761dfa78ae30c0d09337931e8f12a0872f2fc1 Mon Sep 17 00:00:00 2001 From: enm10k Date: Tue, 14 Nov 2023 11:14:26 +0900 Subject: [PATCH 07/21] =?UTF-8?q?CHANGES.md=20=E3=82=92=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index df6ebfc6..e2d42b6a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -17,6 +17,10 @@ - @enm10k - [ADD] H.265 に対応する - @enm10k +- [FIX] connect メッセージに設定するバージョンの取得に git describe を使うのを止める + - 開発中に develop ブランチなどでの出力が意図せぬ結果になるため修正 + - リリースされた Sora Android SDK では正常な出力になるため、ユーザーへの影響はなし + - @enm10k ## 2023.2.0 From 706dffb3c7aaeb85cd960a1f69918d089ece89bf Mon Sep 17 00:00:00 2001 From: miosakuma Date: Mon, 25 Dec 2023 12:40:13 +0900 Subject: [PATCH 08/21] =?UTF-8?q?[README]=20=E5=AF=BE=E5=BF=9C=20Sora=20?= =?UTF-8?q?=E3=82=92=202023.2.0=20=E3=81=AB=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9e1aa21f..5af4dd91 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Please read https://github.com/shiguredo/oss before use. - Android 5 以降 (エミュレーターでの動作は保証しません) - Android Studio 2022.2.1 以降 -- WebRTC SFU Sora 2023.1.0 以降 +- WebRTC SFU Sora 2023.2.0 以降 ## サンプル From ab5046e9583f61165fe4f5659713e8778f844fc1 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Thu, 11 Jan 2024 14:32:37 +0900 Subject: [PATCH 09/21] =?UTF-8?q?=E8=BB=A2=E9=80=81=E3=83=95=E3=82=A3?= =?UTF-8?q?=E3=83=AB=E3=82=BF=E3=83=BC=E3=81=AB=E3=83=90=E3=83=BC=E3=82=B8?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E3=81=A8=E3=83=A1=E3=82=BF=E3=83=87=E3=83=BC?= =?UTF-8?q?=E3=82=BF=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../option/SoraForwardingFilterOption.kt | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraForwardingFilterOption.kt b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraForwardingFilterOption.kt index 96091f21..72246757 100644 --- a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraForwardingFilterOption.kt +++ b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/option/SoraForwardingFilterOption.kt @@ -3,15 +3,19 @@ package jp.shiguredo.sora.sdk.channel.option /** * 転送フィルター機能の設定を表すクラスです。 * - * @param action フィルター適用時の挙動 - * @param rules フィルターの適用ルール + * @param action 転送フィルター適用時の挙動 + * @param rules 転送フィルターの適用ルール + * @param version 転送フィルターのバージョン + * @param metadata 転送フィルターのメタデータ */ class SoraForwardingFilterOption( - val action: Action, - val rules: List> + val action: Action? = null, + val rules: List>, + val version: String? = null, + val metadata: Any? = null ) { /** - * フィルター適用時の挙動を表します。 + * 転送フィルター適用時の挙動を表します。 */ enum class Action { /** block */ @@ -22,11 +26,11 @@ class SoraForwardingFilterOption( } /** - * フィルターの適用ルールを表します。 + * 転送フィルターの適用ルールを表します。 * - * @param field フィルター対象のフィールド - * @param operator フィルターの演算子 - * @param values フィルターの値 + * @param field 転送フィルター対象のフィールド + * @param operator 転送フィルターの演算子 + * @param values 転送フィルターの値 */ class Rule( val field: Field, @@ -34,7 +38,7 @@ class SoraForwardingFilterOption( val values: List ) { /** - * フィルター対象のフィールドを表します。 + * 転送フィルター対象のフィールドを表します。 */ enum class Field { /** connection_id */ @@ -48,7 +52,7 @@ class SoraForwardingFilterOption( } /** - * フィルターの演算子を表します。 + * 転送フィルターの演算子を表します。 */ enum class Operator { /** is_in */ @@ -62,7 +66,7 @@ class SoraForwardingFilterOption( internal val signaling: Any get() { return mapOf( - "action" to action.name.lowercase(), + "action" to (action?.name?.lowercase() ?: null), "rules" to rules.map { outerRule -> outerRule.map { rule -> mapOf( @@ -71,7 +75,9 @@ class SoraForwardingFilterOption( "values" to rule.values ) } - } + }, + "version" to version, + "metadata" to metadata ) } } From ff8f498948cf1e9245266c3246aa93bbe1566814 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Mon, 15 Jan 2024 12:01:21 +0900 Subject: [PATCH 10/21] =?UTF-8?q?NotificationMessage=20=E3=81=AB=20Sora=20?= =?UTF-8?q?=E3=81=8B=E3=82=89=E9=80=9A=E7=9F=A5=E3=81=95=E3=82=8C=E3=82=8B?= =?UTF-8?q?=E9=A0=85=E7=9B=AE=E3=82=92=E8=BF=BD=E5=8A=A0=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 9 +++++++++ .../sora/sdk/channel/signaling/message/Catalog.kt | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index e2d42b6a..3e7ad2aa 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -21,6 +21,15 @@ - 開発中に develop ブランチなどでの出力が意図せぬ結果になるため修正 - リリースされた Sora Android SDK では正常な出力になるため、ユーザーへの影響はなし - @enm10k +- [FIX] NotificationMessage に項目を追加する + - session_id + - kind + - destination_connection_id + - source_connection_id + - recv_connection_id + - send_connection_id + - stream_id + - @miosakuma ## 2023.2.0 diff --git a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt index dc1ce9a9..ede8796d 100644 --- a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt +++ b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt @@ -163,6 +163,7 @@ data class NotificationMessage( @SerializedName("type") val type: String = "notify", @SerializedName("event_type") val eventType: String, @SerializedName("role") val role: String?, + @SerializedName("session_id") val sessionId: String, @SerializedName("client_id") val clientId: String, @SerializedName("bundle_id") val bundleId: String?, @SerializedName("connection_id") val connectionId: String?, @@ -184,6 +185,12 @@ data class NotificationMessage( @SerializedName("authz_metadata") val authzMetadata: Any?, @SerializedName("data") val data: Any?, @SerializedName("turn_transport_type") val turnTransportType: String?, + @SerializedName("kind") val kind: String?, + @SerializedName("destination_connection_id") val destinationConnectionId: String?, + @SerializedName("source_connection_id") val sourceConnectionId: String?, + @SerializedName("recv_connection_id") val recvConnectionId: String?, + @SerializedName("send_connection_id") val sendConnectionId: String?, + @SerializedName("stream_id") val streamId: String?, ) data class DisconnectMessage( From b732589f7034062f3178234512e9acde3b7d61fc Mon Sep 17 00:00:00 2001 From: miosakuma Date: Mon, 15 Jan 2024 12:47:10 +0900 Subject: [PATCH 11/21] =?UTF-8?q?NotificationMessage=20=E3=81=A7=E5=B8=B8?= =?UTF-8?q?=E3=81=AB=E9=80=9A=E7=9F=A5=E3=81=95=E3=82=8C=E3=81=AA=E3=81=84?= =?UTF-8?q?=E9=A0=85=E7=9B=AE=E3=82=92=20Optional=20=E3=81=AB=E3=81=99?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shiguredo/sora/sdk/channel/signaling/message/Catalog.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt index ede8796d..8abea585 100644 --- a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt +++ b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt @@ -163,8 +163,8 @@ data class NotificationMessage( @SerializedName("type") val type: String = "notify", @SerializedName("event_type") val eventType: String, @SerializedName("role") val role: String?, - @SerializedName("session_id") val sessionId: String, - @SerializedName("client_id") val clientId: String, + @SerializedName("session_id") val sessionId: String?, + @SerializedName("client_id") val clientId: String?, @SerializedName("bundle_id") val bundleId: String?, @SerializedName("connection_id") val connectionId: String?, @SerializedName("audio") val audio: Boolean?, From 9a5d3cd2b6e4115517000bc03c78b62250eb1ed1 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Mon, 15 Jan 2024 14:40:18 +0900 Subject: [PATCH 12/21] =?UTF-8?q?NotificationMessage=20=E3=81=AE=20matadat?= =?UTF-8?q?a=5Flist=20=E3=82=92=E5=89=8A=E9=99=A4=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 4 ++++ .../shiguredo/sora/sdk/channel/signaling/message/Catalog.kt | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 3e7ad2aa..c15b5625 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,10 @@ ## develop +- [CHANGE] NotificationMessage の matadata_list を削除する + - 2022.1.0 の Sora で metadata_list が廃止されたため + - NotificationMessage の data で値の取得が可能 + - @miosakuma - [UPDATE] libwebrtc を 119.6045.2.1 に上げる - @miosakuma - [UPDATE] 解像度に qHD (960x540, 540x960) を追加する diff --git a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt index 8abea585..68d9b281 100644 --- a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt +++ b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt @@ -170,8 +170,6 @@ data class NotificationMessage( @SerializedName("audio") val audio: Boolean?, @SerializedName("video") val video: Boolean?, @SerializedName("metadata") val metadata: Any?, - @Deprecated("metadata_list は将来の Sora のリリースでフィールド名を data に変更する予定です。") - @SerializedName("metadata_list") val metadataList: Any?, @SerializedName("minutes") val connectionTime: Long?, @SerializedName("channel_connections") val numberOfConnections: Int?, @SerializedName("channel_sendrecv_connections") val numberOfSendrecvConnections: Int?, From 7a5ae712aade89c785703230b480f65ba0ee8176 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Tue, 16 Jan 2024 12:36:21 +0900 Subject: [PATCH 13/21] =?UTF-8?q?NotificationMessage=20=E3=81=AE=20channel?= =?UTF-8?q?=5Fid=20=E3=82=92=E5=89=8A=E9=99=A4=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 3 +++ .../jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index c15b5625..2a222c45 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,6 +15,9 @@ - 2022.1.0 の Sora で metadata_list が廃止されたため - NotificationMessage の data で値の取得が可能 - @miosakuma +- [CHANGE] NotificationMessage の channel_id を削除する + - Sora から値を通知しておらず利用していない項目のため削除する + - @miosakuma - [UPDATE] libwebrtc を 119.6045.2.1 に上げる - @miosakuma - [UPDATE] 解像度に qHD (960x540, 540x960) を追加する diff --git a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt index 68d9b281..8dab3857 100644 --- a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt +++ b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/signaling/message/Catalog.kt @@ -176,7 +176,6 @@ data class NotificationMessage( @SerializedName("channel_sendonly_connections") val numberOfSendonlyConnections: Int?, @SerializedName("channel_recvonly_connections") val numberOfRecvonlyConnections: Int?, @SerializedName("unstable_level") val unstableLevel: Int?, - @SerializedName("channel_id") val channelId: String?, @SerializedName("spotlight_id") val spotlightId: String?, @SerializedName("fixed") val fixed: Boolean?, @SerializedName("authn_metadata") val authnMetadata: Any?, From cd15647b8b29ef057e108b0889db084cbfaeb126 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Wed, 17 Jan 2024 17:32:45 +0900 Subject: [PATCH 14/21] =?UTF-8?q?=E5=A4=89=E6=9B=B4=E5=B1=A5=E6=AD=B4?= =?UTF-8?q?=E3=81=AE=E3=82=A4=E3=83=B3=E3=83=87=E3=83=B3=E3=83=88=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 848 ++++++++++++++++++++++++++--------------------------- 1 file changed, 424 insertions(+), 424 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 2a222c45..2529d12c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,863 +1,863 @@ # 変更履歴 - CHANGE - - 下位互換のない変更 + - 下位互換のない変更 - UPDATE - - 下位互換がある変更 + - 下位互換がある変更 - ADD - - 下位互換がある追加 + - 下位互換がある追加 - FIX - - バグ修正 + - バグ修正 ## develop - [CHANGE] NotificationMessage の matadata_list を削除する - - 2022.1.0 の Sora で metadata_list が廃止されたため - - NotificationMessage の data で値の取得が可能 - - @miosakuma + - 2022.1.0 の Sora で metadata_list が廃止されたため + - NotificationMessage の data で値の取得が可能 + - @miosakuma - [CHANGE] NotificationMessage の channel_id を削除する - - Sora から値を通知しておらず利用していない項目のため削除する - - @miosakuma + - Sora から値を通知しておらず利用していない項目のため削除する + - @miosakuma - [UPDATE] libwebrtc を 119.6045.2.1 に上げる - - @miosakuma + - @miosakuma - [UPDATE] 解像度に qHD (960x540, 540x960) を追加する - - @enm10k + - @enm10k - [ADD] H.265 に対応する - - @enm10k + - @enm10k - [FIX] connect メッセージに設定するバージョンの取得に git describe を使うのを止める - - 開発中に develop ブランチなどでの出力が意図せぬ結果になるため修正 - - リリースされた Sora Android SDK では正常な出力になるため、ユーザーへの影響はなし - - @enm10k + - 開発中に develop ブランチなどでの出力が意図せぬ結果になるため修正 + - リリースされた Sora Android SDK では正常な出力になるため、ユーザーへの影響はなし + - @enm10k - [FIX] NotificationMessage に項目を追加する - - session_id - - kind - - destination_connection_id - - source_connection_id - - recv_connection_id - - send_connection_id - - stream_id - - @miosakuma + - session_id + - kind + - destination_connection_id + - source_connection_id + - recv_connection_id + - send_connection_id + - stream_id + - @miosakuma ## 2023.2.0 - [UPDATE] システム条件を更新する - - Android Studio 2022.2.1 以降 - - WebRTC SFU Sora 2023.1.0 以降 - - @miosakuma + - Android Studio 2022.2.1 以降 + - WebRTC SFU Sora 2023.1.0 以降 + - @miosakuma - [UPDATE] libwebrtc を 115.5790.8.0 に上げる - - @miosakuma + - @miosakuma - [ADD] 転送フィルター機能を追加する - - @szktty + - @szktty - [ADD] scalability mode に対応する - - VP9 / AV1 のサイマルキャストに対応可能になる - - @szktty + - VP9 / AV1 のサイマルキャストに対応可能になる + - @szktty - [ADD] 映像コーデックパラメータを追加する - - `SoraMediaOption` に `videoVp9Params`, `videoAv1Params`, `videoH264Params` を追加する - - @miosakuma + - `SoraMediaOption` に `videoVp9Params`, `videoAv1Params`, `videoH264Params` を追加する + - @miosakuma ## 2023.1.0 - [UPDATE] システム条件を更新する - - Android Studio 2022.1.1 以降 - - WebRTC SFU Sora 2022.2.0 以降 - - @miosakuma + - Android Studio 2022.1.1 以降 + - WebRTC SFU Sora 2022.2.0 以降 + - @miosakuma - [UPDATE] Kotlin のバージョンを 1.8.10 に上げる - - @miosakuma + - @miosakuma - [UPDATE] Gradle を 7.6.1 に上げる - - @miosakuma + - @miosakuma - [UPDATE] 依存ライブラリーのバージョンを上げる - - org.jetbrains.dokka:dokka-gradle-plugin を 1.8.10 に上げる - - com.android.tools.build:gradle を 7.4.2 に上げる - - com.github.ben-manes:gradle-versions-plugin を 0.46.0 に上げる - - org.jlleitschuh.gradle:ktlint-gradle を 11.3.1 に上げる - - com.google.code.gson:gson を 2.10.1 に上げる - - androidx.test:core を 1.5.0 に上げる - - org.robolectric:robolectric を 4.9.2 に上げる + - org.jetbrains.dokka:dokka-gradle-plugin を 1.8.10 に上げる + - com.android.tools.build:gradle を 7.4.2 に上げる + - com.github.ben-manes:gradle-versions-plugin を 0.46.0 に上げる + - org.jlleitschuh.gradle:ktlint-gradle を 11.3.1 に上げる + - com.google.code.gson:gson を 2.10.1 に上げる + - androidx.test:core を 1.5.0 に上げる + - org.robolectric:robolectric を 4.9.2 に上げる - [UPDATE] libwebrtc を 112.5615.1.0 に上げる - - @miosakuma + - @miosakuma - [UPDATE] 映像コーデックに `AV1` を追加する - - @miosakuma + - @miosakuma - [ADD] `SoraMediaOption` に `audioStreamingLanguageCode` を追加する - - @miosakuma + - @miosakuma - [FIX] テストコード内に廃止された role が残っていたため最新化する - - @miosakuma + - @miosakuma - [FIX] `PeerConnection.ContinualGatheringPolicy.GATHER_CONTINUALLY` は Sora がネットワーク変更に対応しておらず不要な設定であるため削除する - - @miosakuma + - @miosakuma ## 2022.4.0 - [CHANGE] `type: offer` の `mid` を必須にする - - この修正の結果、 type: offer に mid が含まれない場合は、エラーになります - - @enm10k + - この修正の結果、 type: offer に mid が含まれない場合は、エラーになります + - @enm10k - [UPDATE] `libwebrtc` を 105.5195.0.0 に上げる - - @miosakuma + - @miosakuma - [UPDATE] `compileSdkVersion` を 32 に上げる - - @miosakuma + - @miosakuma - [UPDATE] `targetSdkVersion` を 32 に上げる - - @miosakuma + - @miosakuma - [UPDATE] `Kotlin` のバージョンを 1.7.10 に上げる - - @miosakuma + - @miosakuma - [UPDATE] `Gradle` を 7.5.1 に上げる - - @miosakuma + - @miosakuma - [UPDATE] 依存ライブラリーのバージョンを上げる - - `com.android.tools.build:gradle` を 7.2.2 に上げる - - `org.jetbrains.kotlin:kotlin-gradle-plugin` を 1.7.10 に上げる - - `org.ajoberstar.grgit:grgit-gradle` を 5.0.0 に上げる - - `org.jetbrains.dokka:dokka-gradle-plugin` を 1.7.10 に上げる - - `com.github.ben-manes:gradle-versions-plugin` を 0.42.0 に上げる - - `org.jlleitschuh.gradle:ktlint-gradle` を 10.3.0 に上げる - - `com.pinterest:ktlint` を 0.45.2 に上げる - - `com.google.code.gson:gson` を 2.9.1 に上げる - - `com.squareup.okhttp3:okhttp` を 4.10.0 に上げる - - `org.jetbrains.kotlinx:kotlinx-coroutines-android` を 1.6.4 に上げる - - `org.robolectric:robolectric` を 4.8.1 に上げる - - @miosakuma + - `com.android.tools.build:gradle` を 7.2.2 に上げる + - `org.jetbrains.kotlin:kotlin-gradle-plugin` を 1.7.10 に上げる + - `org.ajoberstar.grgit:grgit-gradle` を 5.0.0 に上げる + - `org.jetbrains.dokka:dokka-gradle-plugin` を 1.7.10 に上げる + - `com.github.ben-manes:gradle-versions-plugin` を 0.42.0 に上げる + - `org.jlleitschuh.gradle:ktlint-gradle` を 10.3.0 に上げる + - `com.pinterest:ktlint` を 0.45.2 に上げる + - `com.google.code.gson:gson` を 2.9.1 に上げる + - `com.squareup.okhttp3:okhttp` を 4.10.0 に上げる + - `org.jetbrains.kotlinx:kotlinx-coroutines-android` を 1.6.4 に上げる + - `org.robolectric:robolectric` を 4.8.1 に上げる + - @miosakuma - [FIX] mid を nullable に変更する - - 「type: offer の mid を必須にする」の対応で role が recvonly の時にエラーとなる不具合の修正 - - @miosakuma + - 「type: offer の mid を必須にする」の対応で role が recvonly の時にエラーとなる不具合の修正 + - @miosakuma - [FIX] offer で受信した encodings が反映されない不具合を修正する - - @miosakuma + - @miosakuma - [FIX] EGLContext が取れなかった場合、DefaultVideoDecoderFactory, SoraDefaultVideoEncoderFactory を使用する - - EGLContext が取れなかった場合の Decoder を SoftwareVideoDecoderFactory から DefaultVideoDecoderFactory に変更する - - EGLContext が取れなかった場合の Encoder を SoftwareVideoEncoderFactory から SoraDefaultVideoEncoderFactory に変更する - - EGLContext は null でも Hardware を使用する MediaCodec は動作するため HW も動作可能な DefaultVideoDecoderFactory, SoraDefaultVideoEncoderFactory を使用する - - @miosakuma + - EGLContext が取れなかった場合の Decoder を SoftwareVideoDecoderFactory から DefaultVideoDecoderFactory に変更する + - EGLContext が取れなかった場合の Encoder を SoftwareVideoEncoderFactory から SoraDefaultVideoEncoderFactory に変更する + - EGLContext は null でも Hardware を使用する MediaCodec は動作するため HW も動作可能な DefaultVideoDecoderFactory, SoraDefaultVideoEncoderFactory を使用する + - @miosakuma ## 2022.3.0 - [CHANGE] SoraMediaOption に hardwareVideoEncoderResolutionAdjustment を追加する - - HW エンコーダーに入力されるフレームの解像度が指定された数の倍数になるように調整する - - デフォルトでは 16 が指定されている - - このオプションを実装した経緯は以下の通り - - 解像度が 16 の倍数でない場合、 HW エンコーダーの初期化がエラーになる変更が libwebrtc のメインストリームに入った - - 参照: - - Android CTS では、 HW エンコーダー (= MediaCodec) を 16で割り切れる解像度のみでテストしており、かつ 16 で割り切れない解像度で問題が発生する端末があったことが理由で上記の変更が行われた - - Sora Android SDK では一部の解像度が影響を受けるため、対応としてこのオプションを実装した - - Sora Android SDK では libwebrtc にパッチを当て、上記の HW エンコーダー初期化時の解像度のチェックを無効化している - - そのため、このフラグを SoraVideoOption.ResolutionAdjustment.NONE に設定することで、従来通り、解像度を調整することなく HW エンコーダーを利用できる - - より詳細な情報は以下のリンクを参照 - - - - 加えて、解像度調整ありでエンコーダーの初期化またはエンコード処理に失敗した際に、解像度調整なしで操作をリトライする処理も実装した - - Android OS 11 の Xperia 5 II で VGA のサイマルキャストを H.264 で送信しようとした際、解像度調整ありの場合 (= hardwareVideoEncoderResolutionAdjustment が MULTIPLE_OF_16 の場合) は HW エンコーダーの初期化が失敗するが、解像度調整なしの場合は成功する現象を確認したため、この処理を実装した - - @enm10k + - HW エンコーダーに入力されるフレームの解像度が指定された数の倍数になるように調整する + - デフォルトでは 16 が指定されている + - このオプションを実装した経緯は以下の通り + - 解像度が 16 の倍数でない場合、 HW エンコーダーの初期化がエラーになる変更が libwebrtc のメインストリームに入った + - 参照: + - Android CTS では、 HW エンコーダー (= MediaCodec) を 16で割り切れる解像度のみでテストしており、かつ 16 で割り切れない解像度で問題が発生する端末があったことが理由で上記の変更が行われた + - Sora Android SDK では一部の解像度が影響を受けるため、対応としてこのオプションを実装した + - Sora Android SDK では libwebrtc にパッチを当て、上記の HW エンコーダー初期化時の解像度のチェックを無効化している + - そのため、このフラグを SoraVideoOption.ResolutionAdjustment.NONE に設定することで、従来通り、解像度を調整することなく HW エンコーダーを利用できる + - より詳細な情報は以下のリンクを参照 + - + - 加えて、解像度調整ありでエンコーダーの初期化またはエンコード処理に失敗した際に、解像度調整なしで操作をリトライする処理も実装した + - Android OS 11 の Xperia 5 II で VGA のサイマルキャストを H.264 で送信しようとした際、解像度調整ありの場合 (= hardwareVideoEncoderResolutionAdjustment が MULTIPLE_OF_16 の場合) は HW エンコーダーの初期化が失敗するが、解像度調整なしの場合は成功する現象を確認したため、この処理を実装した + - @enm10k - [UPDATE] SoraMediaOption.enableSpotlight() の引数に `enableSimulcast` を追加し、サイマルキャスト無効の状態でスポットライト機能を利用できるようにする - - @enm10k + - @enm10k - [UPDATE] libwebrtc を 103.5060.4.0 に上げる - - @miosakuma + - @miosakuma - [UPDATE] 依存ライブラリー `org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9` を追加する - - @enm10k + - @enm10k - [UPDATE] システム条件を Android Studio 2021.2.1 に上げる - - @miosakuma + - @miosakuma - [ADD] HTTP プロキシに対応する - - @enm10k + - @enm10k - [ADD] SoraMediaChannel に `bundleId` を追加する - - @enm10k + - @enm10k ## 2022.2.0 - [CHANGE] Sora で廃止となった以下のフィールドを削除する - - NotificationMessage.numberOfUpstreamConnections - - NotificationMessage.numberOfDownstreamConnections - - ChannelAttendeesCount.numberOfUpstreams - - ChannelAttendeesCount.numberOfDownstreams - - @miosakuma + - NotificationMessage.numberOfUpstreamConnections + - NotificationMessage.numberOfDownstreamConnections + - ChannelAttendeesCount.numberOfUpstreams + - ChannelAttendeesCount.numberOfDownstreams + - @miosakuma - [UPDATE] SoraMediaChannel に contactSignalingEndpoint を追加する - - 最初に type: connect を送信したエンドポイントを表す - - この変更と併せて、 connectedSignalingEndpoint をセットするタイミングを、 type: connect 送信時から type: offer 送信時に変更した - - @enm10k + - 最初に type: connect を送信したエンドポイントを表す + - この変更と併せて、 connectedSignalingEndpoint をセットするタイミングを、 type: connect 送信時から type: offer 送信時に変更した + - @enm10k - [UPDATE] SoraMediaOption に role を追加する - - type: connect の role を明示的に指定できるようなった - - 未指定の場合は、従来通り、 SDK が role を自動的に決定する - - @enm10k + - type: connect の role を明示的に指定できるようなった + - 未指定の場合は、従来通り、 SDK が role を自動的に決定する + - @enm10k - [ADD] メッセージング機能に対応する - - @enm10k + - @enm10k - [FIX] SoraMediaChannel.Listener に onOfferMessage を追加する - - type: offer に含まれる metadata などにアクセスするために必要だった - - @enm10k + - type: offer に含まれる metadata などにアクセスするために必要だった + - @enm10k ## 2022.1.0 - [CHANGE] スポットライトレガシーを削除する - - @enm10k + - @enm10k - [UPDATE] libwebrtc を 96.4664.2.1 に上げる - - @enm10k + - @enm10k - [UPDATE] dokka を 1.5.31 に上げる - - @miosakuma + - @miosakuma - [ADD] 複数シグナリング URL の指定に対応する - - SoraMediaChannel に connectedSignalingEndpoint を追加する - - @enm10k + - SoraMediaChannel に connectedSignalingEndpoint を追加する + - @enm10k - [ADD] redirect メッセージに対応する - - @enm10k + - @enm10k - [ADD] type: disconnect に reason を追加する - - @enm10k + - @enm10k - [FIX] 視聴のみかつ H.264 した場合に接続できない問題についてのワークアラウンドを削除する - - SoraMediaOption.videoUpstreamContext が無く SoraMediaOption.videoDownstreamContext - がある場合はコーデック指定に依らず、 DefaultVideoEncoderFactory を使用する - - @miosakuma + - SoraMediaOption.videoUpstreamContext が無く SoraMediaOption.videoDownstreamContext + がある場合はコーデック指定に依らず、 DefaultVideoEncoderFactory を使用する + - @miosakuma - [FIX] libwebrtc の更新で発生するようになったサイマルキャストのクラッシュを修正する - - SimulcastVideoEncoderFactoryWrapper.kt の Fallback クラスが原因で java.lang.UnsupportedOperationException が発生していた - - 調査の結果、 Fallback クラスを削除できることがわかったので、その方向で修正した - - その過程で、 libwebrtc に適用している Android のサイマルキャスト対応のパッチを更新し、 SimulcastVideoEncoderFactory の fallback に null を指定できるようにした - - @enm10k + - SimulcastVideoEncoderFactoryWrapper.kt の Fallback クラスが原因で java.lang.UnsupportedOperationException が発生していた + - 調査の結果、 Fallback クラスを削除できることがわかったので、その方向で修正した + - その過程で、 libwebrtc に適用している Android のサイマルキャスト対応のパッチを更新し、 SimulcastVideoEncoderFactory の fallback に null を指定できるようにした + - @enm10k ## 2021.3 - [UPDATE] libwebrtc を 93.4577.8.2 に上げる - - @miosakuma + - @miosakuma - [FIX] stats メッセージに含まれる統計情報のフォーマットを修正する - - @enm10k + - @enm10k ## 2021.2 - [CHANGE] SoraMediaChannel のコンストラクタ引数 channelId の型を String? から String に変更する - - @enm10k + - @enm10k - [CHANGE] connect メッセージの定義を見直す - - connectionId の型を String? から String に変更する - - sdp_error を削除する - - @enm10k + - connectionId の型を String? から String に変更する + - sdp_error を削除する + - @enm10k - [UPDATE] スポットライト接続時に spotlight_focus_rid / spotlight_unfocus_rid を指定できるようにする - - @enm10k + - @enm10k - [UPDATE] offer に mid が含まれる場合は、 mid を利用して sender を設定する - - @enm10k + - @enm10k - [UPDATE] libwebrtc を 92.4515.9.1 に上げる - - @enm10k + - @enm10k - [UPDATE] 依存ライブラリーのバージョンを上げる - - `com.android.tools.build:gradle` を 4.2.2 に上げる - - @enm10k + - `com.android.tools.build:gradle` を 4.2.2 に上げる + - @enm10k - [UPDATE] JCenter への参照を取り除く - - @enm10k + - @enm10k - [UPDATE] AES-GCM を有効にする - - @miosakuma + - @miosakuma - [ADD] データチャネルシグナリングに対応する - - data_channel_signlaing, ignore_disconnect_websocket パラメータ設定を追加する - - onDataChannel コールバックを実装する - - 各 label に対応するデータチャネル関係のコールバックを実装する - - WebSocket 側の `type:switched` 受信の処理を追加する - - @shino + - data_channel_signlaing, ignore_disconnect_websocket パラメータ設定を追加する + - onDataChannel コールバックを実装する + - 各 label に対応するデータチャネル関係のコールバックを実装する + - WebSocket 側の `type:switched` 受信の処理を追加する + - @shino - [FIX] 終了前にシグナリング Disconnect メッセージ送信を追加する - - 状態により WebSocket, DataChannel どちらかで送信する - - @shino + - 状態により WebSocket, DataChannel どちらかで送信する + - @shino - [FIX] offer に data_channels が含まれない場合に対応する - - @shino + - @shino - [FIX] 接続 / 切断を検知する処理を改善する - - 修正前は IceConnectionState を参照していたが、 PeerConnectionState を参照するように修正する - - SoraErrorReason の以下の値を参照するコードは修正が必要となる - - ICE_FAILURE => PEER_CONNECTION_FAILED - - ICE_CLOSED_BY_SERVER => PEER_CONNECTION_CLOSED - - ICE_DISCONNECTED => PEER_CONNECTION_DISCONNECTED - - @enm10k + - 修正前は IceConnectionState を参照していたが、 PeerConnectionState を参照するように修正する + - SoraErrorReason の以下の値を参照するコードは修正が必要となる + - ICE_FAILURE => PEER_CONNECTION_FAILED + - ICE_CLOSED_BY_SERVER => PEER_CONNECTION_CLOSED + - ICE_DISCONNECTED => PEER_CONNECTION_DISCONNECTED + - @enm10k - [FIX] NotificationMessage に turnTransportType を追加する - - @enm10k + - @enm10k - [FIX] SoraSpotlightOption から simulcastRid を削除する - - スポットライトでは simulcast_rid を指定しても動作しない - - @enm10k + - スポットライトでは simulcast_rid を指定しても動作しない + - @enm10k - [FIX] 接続成功時のコールバックが複数回実行されないように修正する - - 修正前は、 PeerConnectionState が CONNECTED に遷移する度に PeerChannel.Listener.onConnect が実行される可能性があった - - 初回のみコールバックが実行されるように修正する - - @enm10k + - 修正前は、 PeerConnectionState が CONNECTED に遷移する度に PeerChannel.Listener.onConnect が実行される可能性があった + - 初回のみコールバックが実行されるように修正する + - @enm10k ## 2021.1.1 - [CHANGE] enum class SimulcastRid の定義を `jp.shiguredo.sora.sdk.channel.signaling.message` から `jp.shiguredo.sora.sdk.channel.option.SoraVideoOption` に移動する - - @enm10k + - @enm10k - [FIX] Sora への接続時に simulcast_rid を指定するとエラーになる現象を修正する - - @enm10k + - @enm10k ## 2021.1 - [CHANGE] SoraAudioOption.Codec から PCMU を外す - - @enm10k + - @enm10k - [UPDATE] libwebrtc を 89.4389.7.0 に上げる - - @enm10k + - @enm10k - [UPDATE] Kotlin を 1.4.31 に上げる - - @szktty + - @szktty - [UPDATE] Gradle を 6.8.3 に上げる - [UPDATE] 依存ライブラリーのバージョンを上げる - - `com.android.tools.build:gradle` を 4.1.2 に上げる - - `com.squareup.okhttp3:okhttp` を 4.8.1 に上げる - - `io.reactivex.rxjava2:rxjava` を 2.2.19 に上げる - - `io.reactivex.rxjava2:rxkotlin` を 2.4.0 に上げる - - `com.github.ben-manes:gradle-versions-plugin` を 0.38.0 に上げる - - `org.ajoberstar.grgit:grgit-gradle` を 4.1.0 に上げる - - `com.squareup.okhttp3:okhttp` を 4.9.1 に上げる - - `io.reactivex.rxjava2:rxjava` を 2.2.21 に上げる - - @szktty @enm10k + - `com.android.tools.build:gradle` を 4.1.2 に上げる + - `com.squareup.okhttp3:okhttp` を 4.8.1 に上げる + - `io.reactivex.rxjava2:rxjava` を 2.2.19 に上げる + - `io.reactivex.rxjava2:rxkotlin` を 2.4.0 に上げる + - `com.github.ben-manes:gradle-versions-plugin` を 0.38.0 に上げる + - `org.ajoberstar.grgit:grgit-gradle` を 4.1.0 に上げる + - `com.squareup.okhttp3:okhttp` を 4.9.1 に上げる + - `io.reactivex.rxjava2:rxjava` を 2.2.21 に上げる + - @szktty @enm10k - [UPDATE] シグナリング pong に統計情報を含める - - @szktty + - @szktty - [UPDATE] Sora のサイマルキャスト機能に追従する - - @szktty + - @szktty - [UPDATE] Sora のスポットライト機能に追従する - - @szktty + - @szktty - [UPDATE] サイマルキャストで VP8 / H.264 (ハードウェアアクセラレーション含む) に対応する - - @szktty @enm10k + - @szktty @enm10k - [UPDATE] `SoraMediaOption.enableSimulcast()` に引数を追加する - - @szktty + - @szktty - [UPDATE] `SoraMediaOption.enableSpotlight()` を追加する - - @szktty + - @szktty - [UPDATE] `SoraSpotlightOption` を追加する - - @szktty + - @szktty - [UPDATE] `SoraMediaChannel.connectionId` を追加する - - @szktty + - @szktty - [UPDATE] `NotificationMessage.data` を追加する - - @enm10k + - @enm10k - [UPDATE] 廃止予定のプロパティに Deprecated アノテーションを追加する - - ChannelAttendeesCount.numberOfUpstreams - - ChannelAttendeesCount.numberOfDownstreams - - NotificationMessage.numberOfUpstreamConnections - - NotificationMessage.numberOfDownstreamConnections - - @enm10k + - ChannelAttendeesCount.numberOfUpstreams + - ChannelAttendeesCount.numberOfDownstreams + - NotificationMessage.numberOfUpstreamConnections + - NotificationMessage.numberOfDownstreamConnections + - @enm10k - [UPDATE] 変更予定のプロパティに Deprecated アノテーションを追加する - - NotificationMessage.metadataList -> NotificationMessage.data に変更予定 - - @enm10k + - NotificationMessage.metadataList -> NotificationMessage.data に変更予定 + - @enm10k - [FIX] スポットライトレガシーに対応する - - スポットライトレガシーを利用する際は `Sora.usesSpotlightLegacy = true` を設定する必要があります - - スポットライトレガシーは 2021 年 12 月に予定されている Sora のアップデートで廃止されます - - @szktty + - スポットライトレガシーを利用する際は `Sora.usesSpotlightLegacy = true` を設定する必要があります + - スポットライトレガシーは 2021 年 12 月に予定されている Sora のアップデートで廃止されます + - @szktty - [FIX] NotificationMessage に漏れていた以下のフィールドを追加する - - authn_metadata - - authz_metadata - - channel_sendrecv_connections - - channel_sendonly_connections - - channel_recvonly_connections - - @enm10k + - authn_metadata + - authz_metadata + - channel_sendrecv_connections + - channel_sendonly_connections + - channel_recvonly_connections + - @enm10k - [FIX] サイマルキャストのパラメーター active: false が無効化されてしまう問題を修正する - - @enm10k + - @enm10k - [FIX] サイマルキャストで TextureBuffer のエンコードに対応する - - TextureBuffer と HardwareVideoEncoder の場合にはスケーリング処理が simulcast_encoder_adapter で - 行われないため、initEncode の情報を元にスケーリングを処理するレイヤを追加 - - 同じレイヤでストリームごとにスレッドを起こし、そのスレッド上で内部エンコーダに移譲するように変更 - - @shino + - TextureBuffer と HardwareVideoEncoder の場合にはスケーリング処理が simulcast_encoder_adapter で + 行われないため、initEncode の情報を元にスケーリングを処理するレイヤを追加 + - 同じレイヤでストリームごとにスレッドを起こし、そのスレッド上で内部エンコーダに移譲するように変更 + - @shino ## 2020.3 - [CHANGE] 古いロール (`upstream`, `downstream`) を削除する - - @szktty + - @szktty - [CHANGE] `SoraAudioOption.audioSource` のデフォルト値を `VOICE_COMMUNICATION` に変更する - - @szktty + - @szktty - [UPDATE] libwebrtc を 83.4103.12.2 に上げる - - @szktty + - @szktty - [UPDATE] `com.android.tools.build:gradle` を 4.0.0 に上げる - - @szktty + - @szktty - [UPDATE] `com.squareup.okhttp3:okhttp` を 4.7.2 に上げる - - @szktty + - @szktty - [ADD] 新しいロール (`sendonly`, `recvonly`, `sendrecv`) に対応する - - @szktty + - @szktty ## 2020.2 - [CHANGE] `compileSdkVersion` を 29 に上げる - - @szktty + - @szktty - [CHANGE] `targetSdkVersion` を 29 に上げる - - @szktty + - @szktty - [CHANGE] シグナリング connect に含めるクライアント情報を変更する - - @szktty + - @szktty - [UPDATE] Kotlin を 1.3.72 に上げる - - @szktty + - @szktty - [UPDATE] Dokka を 0.10.1 に上げる - - @szktty + - @szktty - [UPDATE] libwebrtc を 79.5.1 に上げる - - @szktty + - @szktty - [UPDATE] `com.android.tools.build:gradle` を 3.6.3 に上げる - - @szktty + - @szktty - [UPDATE] `com.squareup.okhttp3:okhttp` を 4.6.0 に上げる - - @szktty + - @szktty - [UPDATE] `junit:junit` を `4.13` に上げる - - @szktty + - @szktty - [ADD] Offer SDP 生成失敗時、エラーメッセージをシグナリング connect の `sdp_error` に含めて送信する - - @szktty + - @szktty ## 2020.1 - [ADD] `CameraCapturerFactory` にフロント/リアカメラの優先順位のオプションを追加する - - @shino + - @shino - [ADD] サイマルキャスト配信のエンコーダ設定変更用コールバックを追加する - - `SoraMediaChannel.Listener#onSenderEncodings()` - - @shino + - `SoraMediaChannel.Listener#onSenderEncodings()` + - @shino - [ADD] 定数 `SoraErrorReason.ICE_DISCONNECTED` を追加する - - @shino + - @shino - [ADD] `SoraMediaChannel.Listener` に `onWarning` メソッドを追加する - - このバージョンでは `ICE_DISCONNECTED` の通知のみに利用している - - 想定ユースケースは、ネットワークが不安定であることを UI に伝えること - - デフォルト実装は処理なしである - - @shino + - このバージョンでは `ICE_DISCONNECTED` の通知のみに利用している + - 想定ユースケースは、ネットワークが不安定であることを UI に伝えること + - デフォルト実装は処理なしである + - @shino - [UPDATE] `com.android.tools.build:gradle` を 3.5.3 に上げる - - @shino + - @shino - [FIX] IceConnectionState = disconnected では切断処理を行わないよう変更する - - @shino + - @shino ## 1.10.0 ### UPDATE - `minSdkVersion` を 21 に上げる - - `com.squareup.okhttp3:okhttp` 4.2.2 が `minSdkVersion` 21 以上にのみ対応するため - - @szktty + - `com.squareup.okhttp3:okhttp` 4.2.2 が `minSdkVersion` 21 以上にのみ対応するため + - @szktty - libwebrtc を 78.8.0 に上げる - - @szktty + - @szktty - Android Studio 3.5.1 に対応する - - @szktty + - @szktty - Kotlin を 1.3.50 に上げる - - @szktty + - @szktty - Dokka を 0.10.0 に上げる - - @szktty + - @szktty - `com.android.tools.build:gradle` を 3.5.2 に上げる - - @szktty + - @szktty - `com.squareup.okhttp3:okhttp` を 4.2.2 に上げる - - @szktty + - @szktty - `com.google.code.gson:gson` を 2.8.6 に上げる - - @szktty + - @szktty - `org.robolectric:robolectric` を 4.3.1 に上げる - - @szktty + - @szktty - AudioDeviceManager 生成時のパラメータをオプション `SoraAudioOption` に追加する - - `audioSource`: `android.media.MediaRecorder.AudioSource` のいずれか - - `useStereoInput`: boolean - - `useStereoOutput`: boolean - - @shino + - `audioSource`: `android.media.MediaRecorder.AudioSource` のいずれか + - `useStereoInput`: boolean + - `useStereoOutput`: boolean + - @shino ### ADD - シグナリング connect メッセージに `sdk_type`, `sdk_version` と `user_agent` を追加する - - @shino + - @shino - シグナリング connect メッセージに `audio.opus_params` を追加する - - @shino + - @shino - 1:N サイマルキャストの視聴に対応する - - @shino + - @shino ### CHANGE - 時雨堂ビルドの libwebrtc ライブラリ名称を変更する - - 旧: `sora-webrtc-android` 、 新: `shiguredo-webrtc-android` - - `transitive = true` で `sora-android-sdk` に依存している場合はアプリ側の変更は不要 - - @shino + - 旧: `sora-webrtc-android` 、 新: `shiguredo-webrtc-android` + - `transitive = true` で `sora-android-sdk` に依存している場合はアプリ側の変更は不要 + - @shino - シグナリング connect メッセージから `simulcast_rid` を削除する - - @shino + - @shino ### FIX - 視聴のみかつ H.264 を指定した場合に接続できない現象を修正する - - @szktty + - @szktty ## 1.9.0 ### UPDATE - libwebrtc を 75.16.0 に上げる - - @shino + - @shino - Android Studio 3.4.2 に対応する - - @shino + - @shino - Kotlin を 1.3.41 に上げる - - @shino + - @shino - `com.squareup.okhttp3:okhttp` を 3.14.2 に上げる - - @shino + - @shino - `io.reactivex.rxjava2:rxjava` を 2.2.10 に上げる - - @shino + - @shino - `androidx.test:core` を 1.2.0 に上げる - - @shino + - @shino - `org.robolectric:robolectric` を 4.3 に上げる - - @shino + - @shino ### ADD - `SoraMediaOption` に `audioBitrate` 設定を追加する - - @shino + - @shino - `SoraMediaOption` に `audioOption: SoraAudioOption` を追加する - - @shino + - @shino - `SoraAudioOption` に libwebrtc 独自の音声処理設定のキーを追加する - - media constraints キーとの対応は以下の通り: - - `ECHO_CANCELLATION_CONSTRAINT`: `"googEchoCancellation"` 設定のキー - - `AUTO_GAIN_CONTROL_CONSTRAINT`: `"googAutoGainControl"` 設定のキー - - `HIGH_PASS_FILTER_CONSTRAINT`: `"googHighpassFilter"` 設定のキー - - `NOISE_SUPPRESSION_CONSTRAINT`: `"googNoiseSuppression""` 設定のキー - - @shino + - media constraints キーとの対応は以下の通り: + - `ECHO_CANCELLATION_CONSTRAINT`: `"googEchoCancellation"` 設定のキー + - `AUTO_GAIN_CONTROL_CONSTRAINT`: `"googAutoGainControl"` 設定のキー + - `HIGH_PASS_FILTER_CONSTRAINT`: `"googHighpassFilter"` 設定のキー + - `NOISE_SUPPRESSION_CONSTRAINT`: `"googNoiseSuppression""` 設定のキー + - @shino - `SoraAudioOption` に音声処理に関するインターフェースをを追加する - - AudioDeviceModule インスタンスの設定、デフォルトは null で `JavaAudioDeviceModule` を内部で生成する - - ハードウェアの AEC (acoustic echo canceler) の利用有無、デフォルトでは可能な場合利用する - - ハードウェアの NS (noise suppressor) の利用有無、デフォルトでは可能な場合利用する - - libwebrtc 独自の音声処理の無効化設定、デフォルトはすべて有効。 - - `audioProcessingEchoCancellation`: `"googEchoCancellation"` に対応 - - `audioProcessingAutoGainControl`: `"googAutoGainControl"` に対応 - - `audioProcessingHighpassFilter`: `"googHighpassFilter"` に対応 - - `audioProcessingNoiseSuppression`: `"googNoiseSuppression""` に対応 - - これらの設定の組み合わせ方によっては、端末依存でマイクからの音声が取れないことがあるため、 - 設定を決める際には実端末での動作確認が必要 - - @shino + - AudioDeviceModule インスタンスの設定、デフォルトは null で `JavaAudioDeviceModule` を内部で生成する + - ハードウェアの AEC (acoustic echo canceler) の利用有無、デフォルトでは可能な場合利用する + - ハードウェアの NS (noise suppressor) の利用有無、デフォルトでは可能な場合利用する + - libwebrtc 独自の音声処理の無効化設定、デフォルトはすべて有効。 + - `audioProcessingEchoCancellation`: `"googEchoCancellation"` に対応 + - `audioProcessingAutoGainControl`: `"googAutoGainControl"` に対応 + - `audioProcessingHighpassFilter`: `"googHighpassFilter"` に対応 + - `audioProcessingNoiseSuppression`: `"googNoiseSuppression""` に対応 + - これらの設定の組み合わせ方によっては、端末依存でマイクからの音声が取れないことがあるため、 + 設定を決める際には実端末での動作確認が必要 + - @shino - `SoraErrorReason` に音声の録音(audio record)、音声トラック(audio track)のエラーを追加する - - @shino + - @shino - `SoraMediaChannel.Lister` のコールバックに `onError(SoraErrorReason, String)` を追加する - - デフォルトで何もしない実装のため、ソースコード上の変更は不要 - - このバージョンでは `JavaAudioDeviceModule` の audio record, audio track 関連のエラーが - このコールバックを通して通知される - - @shino + - デフォルトで何もしない実装のため、ソースコード上の変更は不要 + - このバージョンでは `JavaAudioDeviceModule` の audio record, audio track 関連のエラーが + このコールバックを通して通知される + - @shino - rid-based simulcast に部分的に対応する - - 現状では、ソフトウェアエンコーダの配信のみで動作する - - 映像コーデックは VP8 のみの対応する - - fixed resolution と一緒に使うとクラッシュ(SEGV)することが分かっている - - 関連してそうな issue: 10713 - Transceiver/encodings based simulcast does not work in desktop sharing - - - - closed になっているため、libwebrtc の最新版では修正されている可能性あり - - @shino + - 現状では、ソフトウェアエンコーダの配信のみで動作する + - 映像コーデックは VP8 のみの対応する + - fixed resolution と一緒に使うとクラッシュ(SEGV)することが分かっている + - 関連してそうな issue: 10713 - Transceiver/encodings based simulcast does not work in desktop sharing + - + - closed になっているため、libwebrtc の最新版では修正されている可能性あり + - @shino - getStats を定期的に実行し統計を取得する API を追加する - - @shino + - @shino ### CHANGE - `org.webrtc.PeerConnectionFactory` に明示的に `JavaAudioDeviceModule` を渡すように変更する - - libwebrtc にて `org.webrtc.LegacyAudioDeviceModule` が無くなり、明示的に audio device module を - 指定するよう変更されたため - - 7452 - Move Android audio code to webrtc/sdk/android - webrtc - Monorail - - - - Use JavaAudioDeviceModule as default (Ib99adc50) · Gerrit Code Review - - - - @shino + - libwebrtc にて `org.webrtc.LegacyAudioDeviceModule` が無くなり、明示的に audio device module を + 指定するよう変更されたため + - 7452 - Move Android audio code to webrtc/sdk/android - webrtc - Monorail + - + - Use JavaAudioDeviceModule as default (Ib99adc50) · Gerrit Code Review + - + - @shino - `org.webrtc.audio.JavaAudioDeviceModule` の `HardwareAcousticEchoCanceler`, `HardwareNoiseSuppressor` をデフォルトで有効にする - - 無効化したい場合には、個別に `SoraAudioOption` で設定し `SoraMediaOption` 経由で渡せる - - @shino + - 無効化したい場合には、個別に `SoraAudioOption` で設定し `SoraMediaOption` 経由で渡せる + - @shino - audio source 作成時のデフォルト `MediaConstraint` で、audio processing の無効化をなくす - - 無効化したい場合には、個別に `SoraAudioOption` で設定し `SoraMediaOption` 経由で渡せる - - @shino + - 無効化したい場合には、個別に `SoraAudioOption` で設定し `SoraMediaOption` 経由で渡せる + - @shino ## 1.8.1 ### UPDATE - libwebrtc を 73.10.1 に上げる - - @shino + - @shino - encoder/decoder の対応コーデックのログ出力コメントを追加する - - @shino + - @shino - Kotlin を 1.3.30 に上げる - - @shino + - @shino - Android Studio 3.4.0 に対応する - - @shino + - @shino - `SoraMediaOption` に `VideoEncoderFactory`、`VideoDecoderFactory` を指定するオプションを追加する - - [プレビュー版] - - @shino + - [プレビュー版] + - @shino - `SoraMediaChannel` のコンストラクタに `@JvmOverloads` を追加し、Java からオーバーロードされて 見えるよう変更する - - これにより第 6 引数のタイムアウト値を省略したコンストラクタを呼び出せるようになる - - @shino + - これにより第 6 引数のタイムアウト値を省略したコンストラクタを呼び出せるようになる + - @shino - シグナリング connect メッセージの metadata を文字列だけでなく任意の型を受け付けるよう変更する - - 値は gson で変換できる必要がある - - 文字列化された JSON を受け取った場合には、1.8.0 までと同様に、そのまま文字列値として取扱う - - @shino + - 値は gson で変換できる必要がある + - 文字列化された JSON を受け取った場合には、1.8.0 までと同様に、そのまま文字列値として取扱う + - @shino - シグナリング connect メッセージに `client_id` フィールドを追加する - - Sora 19.04 より前のバージョンでは、このフィールドを文字列に設定するとエラーになる - - @shino + - Sora 19.04 より前のバージョンでは、このフィールドを文字列に設定するとエラーになる + - @shino - シグナリング connect メッセージの `signaling_notify_metadata` を `SoraMediaChannel` コンストラクタから 指定できるようにする - - 値は gson で変換できる必要がある - - オプション引数のため、これまでのコードでは指定なしで動作する - - Java で書かれたアプリケーションでは `SoraMediaChannel` のコンストラクタで `signalingNotifyMetadata` を - を指定するには `clientId` を渡す必要がある。アプリケーションとして指定しない場合には null を渡すことで - シグナリング connect メッセージには `client_id` が含まれない。 - - @shino + - 値は gson で変換できる必要がある + - オプション引数のため、これまでのコードでは指定なしで動作する + - Java で書かれたアプリケーションでは `SoraMediaChannel` のコンストラクタで `signalingNotifyMetadata` を + を指定するには `clientId` を渡す必要がある。アプリケーションとして指定しない場合には null を渡すことで + シグナリング connect メッセージには `client_id` が含まれない。 + - @shino - シグナリングパラメータのフィールド、型を Sora 19.04 に合わせ更新する - - 型定義は を参照 - - @shino + - 型定義は を参照 + - @shino - `gradle.properties.example` に Robolectric の設定 `android.enableUnitTestBinaryResources=true` を追加する - - @shino + - @shino - Sora 19.04.0 での `connection_id` 導入に伴い、ローカルトラック判定を `connection_id` で行うよう変更する - - 以前のバージョンでも動作するよう、offer に `connection_id` がない場合はこれまでどおり `client_id` を使う - - @shino + - 以前のバージョンでも動作するよう、offer に `connection_id` がない場合はこれまでどおり `client_id` を使う + - @shino - シグナリング通知機能の network.status に対応する - - @shino + - @shino - `com.squareup.okhttp3:okhttp` を 3.14.1 に上げる - - @shino + - @shino - `io.reactivex.rxjava2:rxandroid` を 2.1.1 に上げる - - @shino + - @shino - `io.reactivex.rxjava2:rxjava` を 2.2.8 に上げる - - @shino + - @shino ### CHANGE - `kotlin-stdlib-jdk7` 依存を `kotlin-stdlib` に変更する - - `minSdkVersion` が 16 であるため - - @shino + - `minSdkVersion` が 16 であるため + - @shino ### ADD - `CameraCapturerFactory` に解像度維持を優先するオプションを追加した - - @shino + - @shino ## 1.8.0 ### UPDATE - libwebrtc を 71.16.0 に上げる - - @shino + - @shino - Kotlin を 1.3.20 に上げる - - @shino + - @shino - libwebrtc の M72 をスキップする - - バグによりビルドは出来るが動作しないため - - そのバグは M73 branch では修正済み: - - @shino + - バグによりビルドは出来るが動作しないため + - そのバグは M73 branch では修正済み: + - @shino - `com.squareup.okhttp3:okhttp` を 3.12.1 に上げる - - @shino + - @shino - `io.reactivex.rxjava2:rxjava` を 2.2.6 に上げる - - @shino + - @shino - Android Studio 3.3 に対応する - - @shino + - @shino - `com.github.dcendents:android-maven-gradle-plugin` を 2.1 に上げる - - @shino + - @shino - WebRTC 1.0 spec に一部追従する - - offerToReceiveAudio/offerToReceiveVideo から Transceiver API に変更する。 - - onTrack, onRemoveTrack は libwebrtc android sdk で対応されていないため見送った。 - - @shino + - offerToReceiveAudio/offerToReceiveVideo から Transceiver API に変更する。 + - onTrack, onRemoveTrack は libwebrtc android sdk で対応されていないため見送った。 + - @shino ### CHANGE - SDP semantics のデフォルト値を Unified Plan に変更する - - upstream のシグナリングで audio や video が false の場合でも、他の配信者の - audio や video のトラックを受信する SDP が Sora から offer されるように変更される。 - - Plan B のときには audio false のときには audio track が SDP に含まれず、 - video が false のときには video のトラックが含まれていなかった。 - これは Plan B の制限による挙動であった。 - - @shino + - upstream のシグナリングで audio や video が false の場合でも、他の配信者の + audio や video のトラックを受信する SDP が Sora から offer されるように変更される。 + - Plan B のときには audio false のときには audio track が SDP に含まれず、 + video が false のときには video のトラックが含まれていなかった。 + これは Plan B の制限による挙動であった。 + - @shino ## 1.7.1 ### UPDATE - dokka を 0.9.17 に上げる - - 不要な generated クラスの HTML が出力されなくなった - - sora-android-sdk-doc の api doc はすでに 0.9.17 生成版で更新済み - - @shino + - 不要な generated クラスの HTML が出力されなくなった + - sora-android-sdk-doc の api doc はすでに 0.9.17 生成版で更新済み + - @shino - Kotlin を 1.2.71 に上げる - - @shino + - @shino - `com.google.code.gson:gson` を 2.8.5 に上げる - - @shino + - @shino - `com.squareup.okhttp3:okhttp` を 3.11.0 に上げる - - @shino + - @shino - `io.reactivex.rxjava2:rxandroid` を 2.1.0 に上げる - - @shino + - @shino - `io.reactivex.rxjava2:rxjava` を 2.2.2 に上げる - - @shino + - @shino - `io.reactivex.rxjava2:rxkotlin` を 2.3.0 に上げる - - @shino + - @shino - Android Studio 3.2.1 に対応する - - @shino + - @shino - libwebrtc を 70.14.0 に上げる - - @shino + - @shino ### ADD - Unified Plan に試験的に対応する - - @shino + - @shino ### FIX - Sora サーバで turn が無効の場合にシグナリングに失敗する問題を修正する - - @shino + - @shino ## 1.7.0 ### UPDATE - Android Studio 3.1.4 に対応する - - @shino + - @shino - libwebrtc を 68.10.1.1 に上げる - - @shino + - @shino ### ADD - webrtc-buildのバージョンと webrtc git のハッシュのログを追加した - - @shino + - @shino ### CHANGE - SoraSerivceUtil.isRunning を削除した - - Oreo で `ActivityManager#getRunningSerivces` が deprecated になったため - - @shino + - Oreo で `ActivityManager#getRunningSerivces` が deprecated になったため + - @shino ## 1.6.0 ### UPDATE - Android Studio 3.1.3 に対応する - - @shino + - @shino - Kotlin を 1.2.51 に上げる - - @shino + - @shino - PeerConnectionFactory を builder から作るよう修正する - - @shino + - @shino - libwebrtc を 67.28.0.1 に上げる - - @shino + - @shino ### ADD - 時雨堂ビルドの libwebrtc AAR を jitpack.io 上にホストする - - @shino + - @shino - jitpack.io 化に伴い libwebrtc バージョンを 66.8.1.1 とする - - バイナリとしては 66.8.1 と同一 - - @shino + - バイナリとしては 66.8.1 と同一 + - @shino - connect オプションの spotlight に対応する - - @shino + - @shino - 映像の解像度の選択肢を増やした - - @shino + - @shino - SoraMediaOption に enableCpuOveruseDetection を追加する - - @shino + - @shino - SoraMediaOption に sdpSemantics を追加する - - ただし動作確認は Plan-B のみ - - @shino + - ただし動作確認は Plan-B のみ + - @shino - SoraMediaOption に tcpCandidatePolicy を追加する - - もともと内部的に用いていたオプションの格上げ - - デフォルト値はこれまでと同様に ENABLED - - @shino + - もともと内部的に用いていたオプションの格上げ + - デフォルト値はこれまでと同様に ENABLED + - @shino - `NotificationMessage` に `clientId` を追加する - - どちらも必須 - - @shino + - どちらも必須 + - @shino - `NotificationMessage` に `audio`, `video`, `metadata`, `metadataList`, `channelId`, `spotlightId`, `fixed` を追加する - - すべてオプション(nullable) - - @shino + - すべてオプション(nullable) + - @shino - `SoraMediaChannel` にシグナリング通知機能のメッセージ受信コールバックを追加する - - @shino + - @shino ### CHANGE - MediaStream#label() の代わりに id を使うよう変更する - - @shino + - @shino - `NotificationMessage` の `role`, `connectionTime`, `numberOfConnections`, `numberOfUpstreamConnections`, `numberOfDownstreamConnections` フィールドをオプション(nullable)に変更する - - 型チェックとして下位互換性を壊す変更 - - これらのフィールドを参照しているソースコードは修正の必要がある - - @shino + - 型チェックとして下位互換性を壊す変更 + - これらのフィールドを参照しているソースコードは修正の必要がある + - @shino - スナップショット機能を削除した - - @shino + - @shino ### FIX - 自分のストリーム判断に配信ストリームがある場合のみの条件があったが、マルチストリームの場合という 条件に置き換える - - single stream (pub, sub) およびマルチストリームではこの変更は影響なし - - スポットライトのみ影響があり、視聴モードでも自分の `clientId` が MSID のストリームについて - `onAddRemotestream` イベントを発火させないようになる - - @shino + - single stream (pub, sub) およびマルチストリームではこの変更は影響なし + - スポットライトのみ影響があり、視聴モードでも自分の `clientId` が MSID のストリームについて + `onAddRemotestream` イベントを発火させないようになる + - @shino ## 1.5.4 ### UPDATE - PeerConnectionFactory.createPeerConnection/3 deprecated に対応する - - @shino + - @shino ## 1.5.3 ### UPDATE - libwebrtc を 66.8.1 に上げる - - @shino + - @shino - Kotlin を 1.2.31 に上げる - - @shino + - @shino ## 1.5.2 ### UPDATE - libwebrtc を 64.5.0 に上げる - - @shino + - @shino - deprecated warning を潰す - - @shino + - @shino - Signaling connect 時に client offer の SDP を載せる - - @shino + - @shino - Kotlin 1.2.30 に上げる - - @shino + - @shino - libjingle のデバッグログ有効化フラグを追加した - - @shino + - @shino - Signaling が 1000 以外 で close した時に warning ログを出すよう変更する - - @shino + - @shino ### FIX - PeerConnectionFactory 生成を UI thread 上で行うよう修正する - - @shino + - @shino ## 1.5.1 ### ADD - Kotlin doc comment ををいくつかの定義に追加する - - @shino + - @shino ## 1.5.0 ### ADD - Sora のプッシュ API のメッセージを SoraMediaChannel.Listener に伝える機能を追加する - - @shino + - @shino ## 1.4.1 ### UPDATE - 依存ライブラリのバージョンを上げる - - @shino + - @shino ## 1.4.0 ### CHANGE - AAR に release classifier が付かないようにする - - @shino + - @shino ### UPDATE - Android Studio 3.0 に対応する - - gradle: 4.1 - - android-maven-gradle-plugin: 2.0 - - @shino + - gradle: 4.1 + - android-maven-gradle-plugin: 2.0 + - @shino - Kotlin 1.2.10 に上げる - - @shino + - @shino ## 1.3.1 ### UPDATE - libwebrtc を 63.13.0 に上げる - - @shino + - @shino - Kotlin 1.1.51 に上げる - - @shino + - @shino - CircleCI でのビルドを設定した - - @shino + - @shino ## 1.3.0 ### FIX - 自身が down を持たない場合に multistream が有効にならない現象を修正する - - @shino + - @shino - 自身が up を持たない場合にリモートストリームが通知されない現象を修正する - - @shino + - @shino ## 1.2.0 ### UPDATE - libwebrtc を 61.5.0 に上げる - - @shino + - @shino ## 1.1.0 ### UPDATE - 依存ライブラリのバージョンを上げる - - @shino + - @shino ### ADD - sources jar を生成する - - @shino + - @shino - libwebrtc.aar ダウンロードを gradle task 化する - - @shino + - @shino - JitPack に対応する - - @shino + - @shino ### CHANGE - libwebrtc.aar を sora-android-sdk の release AAR に含める - - @shino + - @shino ## 1.0.0 - 最初のリリース - - @shino + - @shino From 8b3e64267db04d8e8eef536ad220375179464c30 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Fri, 12 Jan 2024 15:05:45 +0900 Subject: [PATCH 15/21] =?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 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index e2d42b6a..2acf393f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -15,12 +15,16 @@ - @miosakuma - [UPDATE] 解像度に qHD (960x540, 540x960) を追加する - @enm10k +- [UPDATE] ForwardingFilter に version と metadata を追加する + - @miosakuma - [ADD] H.265 に対応する - @enm10k - [FIX] connect メッセージに設定するバージョンの取得に git describe を使うのを止める - 開発中に develop ブランチなどでの出力が意図せぬ結果になるため修正 - リリースされた Sora Android SDK では正常な出力になるため、ユーザーへの影響はなし - @enm10k +- [FIX] ForwardingFilter の action を未指定にできるようにする + - @miosakuma ## 2023.2.0 From 359c7303929de1757cf5c72aec2d96f389562844 Mon Sep 17 00:00:00 2001 From: voluntas Date: Sun, 4 Feb 2024 11:11:48 +0900 Subject: [PATCH 16/21] Update renovate.json --- .github/renovate.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index 949faf64..dc1e100a 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -9,5 +9,6 @@ "group:recommended", "group:allNonMajor", "schedule:weekly" - ] -} \ No newline at end of file + ], + "enabled": false +} From df1c5c54b9815c3bb99296011b34598030214d90 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Wed, 14 Feb 2024 18:42:06 +0900 Subject: [PATCH 17/21] =?UTF-8?q?libwebrtc=20=E3=82=92=20121.6167.4.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 | 3 ++- build.gradle | 2 +- sora-android-sdk/build.gradle | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 95b96cfb..e256ca34 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -18,7 +18,8 @@ - [CHANGE] NotificationMessage の channel_id を削除する - Sora から値を通知しておらず利用していない項目のため削除する - @miosakuma -- [UPDATE] libwebrtc を 119.6045.2.1 に上げる +- [UPDATE] libwebrtc を 121.6167.4.0 に上げる + - コンバイルに利用する Java のバージョンを 1.8 に上げる - @miosakuma - [UPDATE] 解像度に qHD (960x540, 540x960) を追加する - @enm10k diff --git a/build.gradle b/build.gradle index 2351d74b..d38b1b4b 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'org.jetbrains.dokka' buildscript { ext.kotlin_version = '1.8.10' - ext.libwebrtc_version = '119.6045.2.1' + ext.libwebrtc_version = '121.6167.4.0' ext.dokka_version = '1.8.10' diff --git a/sora-android-sdk/build.gradle b/sora-android-sdk/build.gradle index e48b0e8a..61d96fb7 100644 --- a/sora-android-sdk/build.gradle +++ b/sora-android-sdk/build.gradle @@ -31,8 +31,8 @@ android { release { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } } From 4defd7b1c3e26abef8abe9043f41e7260118ae1b Mon Sep 17 00:00:00 2001 From: miosakuma Date: Wed, 14 Feb 2024 19:05:39 +0900 Subject: [PATCH 18/21] =?UTF-8?q?GithubActions=20=E3=81=AE=20java-version?= =?UTF-8?q?=20=E3=82=92=2018=20=E3=81=AB=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 99638149..d21ae940 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,7 @@ jobs: uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '18' cache: 'gradle' - name: Copy gradle.properties run: cp gradle.properties.example gradle.properties From 6c130c37ec21481f4f5253f05c9ac02dd54316d0 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Tue, 19 Mar 2024 10:47:00 +0900 Subject: [PATCH 19/21] =?UTF-8?q?README=20=E3=81=AE=E6=9B=B4=E6=96=B0?= 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 5af4dd91..7183e2a6 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Sora Android SDK [![Release](https://jitpack.io/v/shiguredo/sora-android-sdk.svg)](https://jitpack.io/#shiguredo/sora-android-sdk) -[![libwebrtc](https://img.shields.io/badge/libwebrtc-119.6045-blue.svg)](https://chromium.googlesource.com/external/webrtc/+/branch-heads/6045) +[![libwebrtc](https://img.shields.io/badge/libwebrtc-121.6167-blue.svg)](https://chromium.googlesource.com/external/webrtc/+/branch-heads/6167) [![GitHub tag (latest SemVer)](https://img.shields.io/github/tag/shiguredo/sora-android-sdk.svg)](https://github.com/shiguredo/sora-android-sdk.svg) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) @@ -21,7 +21,7 @@ Please read https://github.com/shiguredo/oss before use. ## システム条件 - Android 5 以降 (エミュレーターでの動作は保証しません) -- Android Studio 2022.2.1 以降 +- Android Studio 2023.2.1 以降 - WebRTC SFU Sora 2023.2.0 以降 ## サンプル From dd25258ddfea1d1341828216f3c7fa291d2ba105 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Tue, 19 Mar 2024 11:04:50 +0900 Subject: [PATCH 20/21] =?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 | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index e256ca34..738f9477 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,36 +11,37 @@ ## develop -- [CHANGE] NotificationMessage の matadata_list を削除する +- [CHANGE] `NotificationMessage` の `matadata_list` を削除する - 2022.1.0 の Sora で metadata_list が廃止されたため - NotificationMessage の data で値の取得が可能 - @miosakuma -- [CHANGE] NotificationMessage の channel_id を削除する +- [CHANGE] `NotificationMessage` の `channel_id` を削除する - Sora から値を通知しておらず利用していない項目のため削除する - @miosakuma - [UPDATE] libwebrtc を 121.6167.4.0 に上げる - コンバイルに利用する Java のバージョンを 1.8 に上げる - @miosakuma -- [UPDATE] 解像度に qHD (960x540, 540x960) を追加する +- [UPDATE] 解像度に `qHD` (960x540, 540x960) を追加する - @enm10k -- [UPDATE] ForwardingFilter に version と metadata を追加する +- [UPDATE] `ForwardingFilter` に `version` と `metadata` を追加する - @miosakuma - [ADD] H.265 に対応する + - `SoraVideoOption` の `Codec` に `H265` を追加しました - @enm10k - [FIX] connect メッセージに設定するバージョンの取得に git describe を使うのを止める - 開発中に develop ブランチなどでの出力が意図せぬ結果になるため修正 - リリースされた Sora Android SDK では正常な出力になるため、ユーザーへの影響はなし - @enm10k -- [FIX] ForwardingFilter の action を未指定にできるようにする +- [FIX] `ForwardingFilter` の `action` を未指定にできるようにする - @miosakuma -- [FIX] NotificationMessage に項目を追加する - - session_id - - kind - - destination_connection_id - - source_connection_id - - recv_connection_id - - send_connection_id - - stream_id +- [FIX] `NotificationMessage` に項目を追加する + - `session_id` + - `kind` + - `destination_connection_id` + - `source_connection_id` + - `recv_connection_id` + - `send_connection_id` + - `stream_id` - @miosakuma ## 2023.2.0 From ad2dfdff956b1d5b3769c69c00480c42ca81d733 Mon Sep 17 00:00:00 2001 From: miosakuma Date: Tue, 19 Mar 2024 14:53:38 +0900 Subject: [PATCH 21/21] =?UTF-8?q?2024.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 ++ .../src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 738f9477..fcb1c22d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,8 @@ ## develop +## 2024.1.0 + - [CHANGE] `NotificationMessage` の `matadata_list` を削除する - 2022.1.0 の Sora で metadata_list が廃止されたため - NotificationMessage の data で値の取得が可能 diff --git a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt index f5860b36..8d1ffb3c 100644 --- a/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt +++ b/sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/util/SDKInfo.kt @@ -6,7 +6,7 @@ import org.webrtc.WebrtcBuildVersion class SDKInfo { companion object { - const val version = "2023.2.0" + const val version = "2024.1.0" fun sdkInfo(): String { return "Sora Android SDK $version (${BuildConfig.REVISION})"