File tree Expand file tree Collapse file tree 3 files changed +7
-7
lines changed
Expand file tree Collapse file tree 3 files changed +7
-7
lines changed Original file line number Diff line number Diff line change 2121 - @zztkm
2222- [ ADD] MediaChannel に音声ソフトミュートを設定する ` setAudioSoftMute(_:) ` を追加する
2323 - 送信ストリームの AudioTrack を取得し、MediaStream.audioEnabled を切り替える
24- - AudioTrack の有無判定を行うため、 MediaStream に ` hasAudioTrack ` を追加する
24+ - デジタルサイレンスパケットが送られる状態となり、マイクからの音声は送出されない
25+ - MediaChannel から AudioTrack の有無判定を行うため、 MediaStream に ` hasAudioTrack ` を追加する
2526 - @t-miya
2627- [ ADD] MediaChannel に映像ソフトミュートを設定する ` setVideoSoftMute(_:) ` を追加する
2728 - 送信ストリームの VideoTrack を取得し、MediaStream.videoEnabled を切り替える
28- - VideoTrack の有無判定を行うため、 MediaStream に ` hasVideoTrack ` を追加する
29+ - MediaChannel から VideoTrack の有無判定を行うため、 MediaStream に ` hasVideoTrack ` を追加する
2930 - @t-miya
3031- [ ADD] MediaChannel に映像ハードミュートを設定する ` setVideoHardMute(_:) ` を追加する
3132 - CameraVideoCapturer の ` stop ` と ` restart ` のラッパー
32- - ハードミュートの複数同時実行を防ぐためにシリアルキュー ` VideoHardMuteSerialQueue ` を追加する
33+ - ハードミュートの複数同時実行を防ぐためのシリアルキュークラス ` VideoHardMuteSerialQueue ` を追加する
3334 - 映像ソフトミュートも併用し、黒塗りフレームの状態で停止させる
3435 - @t-miya
3536- [ ADD] 音声のハードミュート有効化/無効化機能を追加する
Original file line number Diff line number Diff line change @@ -745,7 +745,7 @@ public final class MediaChannel {
745745 return SoraError . mediaChannelError ( reason: " senderStream has no VideoTrack " )
746746 }
747747
748- // ローカル音声トラックの有効 /無効を切り替えます
748+ // ローカル映像トラックの有効 /無効を切り替えます
749749 senderStream. videoEnabled = !mute
750750 Logger . debug ( type: . mediaChannel, message: " setVideoSoftMute mute= \( mute) " )
751751 return nil
Original file line number Diff line number Diff line change @@ -2,8 +2,6 @@ import Foundation
22
33// 映像ハードミュートの同時呼び出しを防ぐためのシリアルキュークラスです
44// MediaChannel.setVideoHardMute(_:) 内での使用を想定しています
5- //
6- // 既に処理が実行中または CameraVideoCapturer が無効な場合は `SoraError.mediaChannelError` がスローされます
75final class VideoHardMuteSerialQueue {
86 private let queue = DispatchQueue ( label: " jp.shiguredo.sora.video.hardmute " )
97
@@ -13,10 +11,11 @@ final class VideoHardMuteSerialQueue {
1311
1412 // queue 上で同時実行を防ぐ排他処理を行い、
1513 // libwebrtc のカメラ用キュー(SoraDispatcher)でカメラ操作を行います
14+ //
15+ // 既に処理中の状態で実行された、またはキャプチャラーが無効な場合は SoraError.mediaChannelError がスローされます
1616 func set( mute: Bool , senderStream: MediaStream ) async throws {
1717 try await withCheckedThrowingContinuation { ( continuation: CheckedContinuation < Void , Error > ) in
1818 queue. async { [ self ] in
19- // 同時に呼び出された場合はエラーにします
2019 guard !isProcessing else {
2120 continuation. resume (
2221 throwing: SoraError . mediaChannelError (
You can’t perform that action at this time.
0 commit comments