From ba3c2cac7da805fa178865b8b9bbd1a88b7e2d9c Mon Sep 17 00:00:00 2001 From: zztkm Date: Fri, 24 Jan 2025 19:12:42 +0900 Subject: [PATCH 1/4] =?UTF-8?q?multistreamEnabled=20=E3=82=92=E9=9D=9E?= =?UTF-8?q?=E6=8E=A8=E5=A5=A8=E6=89=B1=E3=81=84=E3=81=AB=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 5 +++++ Sora/Configuration.swift | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 9c951f3c..2b0053ee 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -11,6 +11,11 @@ ## develop +- [UPDATE] multistreamEnabled を非推奨扱いにする + - multistreamEnabled の設定が不要なイニシャライザを `Configuration` に追加する + - ドキュメントコメントに非推奨扱いの旨を追加する + - @zztkm + ## 2025.1.1 **リリース日**: 2025-01-23 diff --git a/Sora/Configuration.swift b/Sora/Configuration.swift index d1c8e4c8..278b0e25 100644 --- a/Sora/Configuration.swift +++ b/Sora/Configuration.swift @@ -86,6 +86,9 @@ public struct Configuration { public var role: Role /// マルチストリームの可否 + /// + /// レガシーストリーム機能は 2025 年 6 月リリースの Sora にて廃止します + /// そのため、multistreamEnabled は使用は非推奨です public var multistreamEnabled: Bool /// :nodoc: @@ -220,6 +223,37 @@ public struct Configuration { /// 通常、指定する必要はありません。 public var publisherAudioTrackId: String = defaultPublisherAudioTrackId + /** + 初期化します。 + + - parameter url: サーバーの URL + - parameter channelId: チャネル ID + - parameter role: ロール + */ + public init(url: URL, + channelId: String, + role: Role) + { + urlCandidates = [url] + self.channelId = channelId + self.role = role + } + + /** + 初期化します。 + - parameter urlCandidates: シグナリングに利用する URL の候補 + - parameter channelId: チャネル ID + - parameter role: ロール + */ + public init(urlCandidates: [URL], + channelId: String, + role: Role) + { + self.urlCandidates = urlCandidates + self.channelId = channelId + self.role = role + } + /** 初期化します。 From 6f55d24fe352cd90821b05c8503256a5d924f2b2 Mon Sep 17 00:00:00 2001 From: zztkm Date: Mon, 27 Jan 2025 12:19:05 +0900 Subject: [PATCH 2/4] =?UTF-8?q?multistreamEnabled=20=E3=82=92=E3=82=AA?= =?UTF-8?q?=E3=83=97=E3=82=B7=E3=83=A7=E3=83=B3=E3=81=AB=E5=A4=89=E6=9B=B4?= =?UTF-8?q?=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sora/Configuration.swift | 43 ++++++---------------------------------- Sora/PeerChannel.swift | 5 ++++- 2 files changed, 10 insertions(+), 38 deletions(-) diff --git a/Sora/Configuration.swift b/Sora/Configuration.swift index 278b0e25..4698ea0d 100644 --- a/Sora/Configuration.swift +++ b/Sora/Configuration.swift @@ -89,13 +89,13 @@ public struct Configuration { /// /// レガシーストリーム機能は 2025 年 6 月リリースの Sora にて廃止します /// そのため、multistreamEnabled は使用は非推奨です - public var multistreamEnabled: Bool + public var multistreamEnabled: Bool? /// :nodoc: var isMultistream: Bool { switch role { default: - return multistreamEnabled + return multistreamEnabled ?? true } } @@ -229,43 +229,12 @@ public struct Configuration { - parameter url: サーバーの URL - parameter channelId: チャネル ID - parameter role: ロール - */ - public init(url: URL, - channelId: String, - role: Role) - { - urlCandidates = [url] - self.channelId = channelId - self.role = role - } - - /** - 初期化します。 - - parameter urlCandidates: シグナリングに利用する URL の候補 - - parameter channelId: チャネル ID - - parameter role: ロール - */ - public init(urlCandidates: [URL], - channelId: String, - role: Role) - { - self.urlCandidates = urlCandidates - self.channelId = channelId - self.role = role - } - - /** - 初期化します。 - - - parameter url: サーバーの URL - - parameter channelId: チャネル ID - - parameter role: ロール - - parameter multistreamEnabled: マルチストリームの可否 + - parameter multistreamEnabled: マルチストリームの可否(デフォルトは指定なし) */ public init(url: URL, channelId: String, role: Role, - multistreamEnabled: Bool) + multistreamEnabled: Bool? = nil) { urlCandidates = [url] self.channelId = channelId @@ -278,12 +247,12 @@ public struct Configuration { - parameter urlCandidates: シグナリングに利用する URL の候補 - parameter channelId: チャネル ID - parameter role: ロール - - parameter multistreamEnabled: マルチストリームの可否 + - parameter multistreamEnabled: マルチストリームの可否(デフォルトは指定なし) */ public init(urlCandidates: [URL], channelId: String, role: Role, - multistreamEnabled: Bool) + multistreamEnabled: Bool? = nil) { self.urlCandidates = urlCandidates self.channelId = channelId diff --git a/Sora/PeerChannel.swift b/Sora/PeerChannel.swift index fbb4664c..b9f8c82b 100644 --- a/Sora/PeerChannel.swift +++ b/Sora/PeerChannel.swift @@ -294,7 +294,10 @@ class PeerChannel: NSObject, RTCPeerConnectionDelegate { message: "did connect to signaling channel") var role: SignalingRole - var multistream = configuration.multistreamEnabled || configuration.spotlightEnabled == .enabled + var multistream = configuration.multistreamEnabled + if configuration.spotlightEnabled == .enabled { + multistream = true + } switch configuration.role { case .sendonly: role = .sendonly From ba5ac1eb0d14e8da1f8d20875880d481e3ff7cff Mon Sep 17 00:00:00 2001 From: zztkm Date: Mon, 27 Jan 2025 15:06:16 +0900 Subject: [PATCH 3/4] =?UTF-8?q?Signaling=20=E3=82=82=20multistreamEnabled?= =?UTF-8?q?=20=E9=9D=9E=E6=8E=A8=E5=A5=A8=E3=82=B3=E3=83=A1=E3=83=B3?= =?UTF-8?q?=E3=83=88=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 --- Sora/Signaling.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Sora/Signaling.swift b/Sora/Signaling.swift index fcf2c67f..1959448c 100644 --- a/Sora/Signaling.swift +++ b/Sora/Signaling.swift @@ -270,6 +270,9 @@ public struct SignalingConnect { public var sdp: String? /// マルチストリームの可否 + /// + /// レガシーストリーム機能は 2025 年 6 月リリースの Sora にて廃止します + /// そのため、multistreamEnabled は使用は非推奨です public var multistreamEnabled: Bool? /// 映像の可否 From acda327ea7cb45da9d0ed4083f748ed7c6967152 Mon Sep 17 00:00:00 2001 From: zztkm Date: Mon, 27 Jan 2025 17:07:14 +0900 Subject: [PATCH 4/4] fix typo --- Sora/Configuration.swift | 2 +- Sora/Signaling.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Sora/Configuration.swift b/Sora/Configuration.swift index 4698ea0d..c75c0bb1 100644 --- a/Sora/Configuration.swift +++ b/Sora/Configuration.swift @@ -88,7 +88,7 @@ public struct Configuration { /// マルチストリームの可否 /// /// レガシーストリーム機能は 2025 年 6 月リリースの Sora にて廃止します - /// そのため、multistreamEnabled は使用は非推奨です + /// そのため、multistreamEnabled の使用は非推奨です public var multistreamEnabled: Bool? /// :nodoc: diff --git a/Sora/Signaling.swift b/Sora/Signaling.swift index 1959448c..8d59fdb0 100644 --- a/Sora/Signaling.swift +++ b/Sora/Signaling.swift @@ -272,7 +272,7 @@ public struct SignalingConnect { /// マルチストリームの可否 /// /// レガシーストリーム機能は 2025 年 6 月リリースの Sora にて廃止します - /// そのため、multistreamEnabled は使用は非推奨です + /// そのため、multistreamEnabled の使用は非推奨です public var multistreamEnabled: Bool? /// 映像の可否