Skip to content

Commit 11f29fe

Browse files
committed
[Fix]setRecording loop on simulator
1 parent 48d8f97 commit 11f29fe

File tree

6 files changed

+15
-21
lines changed

6 files changed

+15
-21
lines changed

.vscode/tasks.json

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,6 @@
11
{
22
"version": "2.0.0",
33
"tasks": [
4-
{
5-
"type": "shell",
6-
"label": "Fastlane: Build SwiftUI Demo",
7-
"command": "bundle exec fastlane build_swiftui_demo",
8-
"group": {
9-
"kind": "build",
10-
"isDefault": true
11-
}
12-
},
13-
{
14-
"type": "shell",
15-
"label": "Fastlane: Test StreamVideo",
16-
"command": "bundle exec fastlane test",
17-
"group": {
18-
"kind": "test",
19-
"isDefault": true
20-
}
21-
},
4+
225
]
236
}

Sources/StreamVideo/Utils/AudioSession/RTCAudioStore/Namespace/Middleware/RTCAudioStore+AudioDeviceModuleMiddleware.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ extension RTCAudioStore {
142142
audioDeviceModule
143143
.isRecordingPublisher
144144
.removeDuplicates()
145-
.sink { [weak self] in self?.dispatcher?.dispatch(.setRecording($0)) }
145+
.sink { [weak self] in self?.dispatcher?.dispatch(.audioDeviceModuleSetRecording($0)) }
146146
.store(in: disposableBag)
147147

148148
audioDeviceModule

Sources/StreamVideo/Utils/AudioSession/RTCAudioStore/Namespace/RTCAudioStore+Action.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ extension RTCAudioStore {
127127
case setActive(Bool)
128128
case setInterrupted(Bool)
129129
case setRecording(Bool)
130+
/// Used to signal from ADM to the store that the recording state has changed.
131+
case audioDeviceModuleSetRecording(Bool)
130132
case setMicrophoneMuted(Bool)
131133
case setHasRecordingPermission(Bool)
132134

@@ -149,6 +151,9 @@ extension RTCAudioStore {
149151
case .setRecording(let value):
150152
return ".setRecording(\(value))"
151153

154+
case .audioDeviceModuleSetRecording(let value):
155+
return ".audioDeviceModuleSetRecording(\(value))"
156+
152157
case .setMicrophoneMuted(let value):
153158
return ".setMicrophoneMuted(\(value))"
154159

Sources/StreamVideo/Utils/AudioSession/RTCAudioStore/Namespace/RTCAudioStore+Coordinator.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ extension RTCAudioStore {
2525
case let .setRecording(value):
2626
return value != state.isRecording
2727

28+
case let .audioDeviceModuleSetRecording(value):
29+
return value != state.isRecording
30+
2831
case let .setMicrophoneMuted(value):
2932
return value != state.isMicrophoneMuted
3033

Sources/StreamVideo/Utils/AudioSession/RTCAudioStore/Namespace/Reducers/RTCAudioStore+DefaultReducer.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ extension RTCAudioStore.Namespace {
4646
case let .setRecording(value):
4747
updatedState.isRecording = value
4848

49+
case let .audioDeviceModuleSetRecording(value):
50+
updatedState.isRecording = value
51+
4952
case let .setMicrophoneMuted(value):
5053
updatedState.isMicrophoneMuted = value
5154

StreamVideoTests/Utils/AudioSession/RTCAudioStore/Namespace/Middleware/RTCAudioStore_AudioDeviceModuleMiddlewareTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,14 +202,14 @@ final class RTCAudioStore_AudioDeviceModuleMiddlewareTests: XCTestCase, @uncheck
202202
isMicrophoneMuted: false
203203
)
204204

205-
let setRecordingExpectation = expectation(description: "setRecording called from AudioDeviceModule value.")
205+
let setRecordingExpectation = expectation(description: "audioDeviceModuleSetRecording called from AudioDeviceModule value.")
206206
let setMicrophoneMutedExpectation = expectation(description: "setMicrophoneMuted called from AudioDeviceModule value.")
207207
subject.dispatcher = .init { actions, _, _, _ in
208208
actions
209209
.map(\.wrappedValue)
210210
.forEach { action in
211211
switch action {
212-
case .setRecording(true):
212+
case .audioDeviceModuleSetRecording(true):
213213
setRecordingExpectation.fulfill()
214214

215215
case .setMicrophoneMuted(false):

0 commit comments

Comments
 (0)