Skip to content

Commit c357fd2

Browse files
committed
Fix bug when joining from another device
update unit tests
1 parent 92c8413 commit c357fd2

File tree

5 files changed

+1357
-70
lines changed

5 files changed

+1357
-70
lines changed

AmazonChimeSDK/AmazonChimeSDK/ingestion/IngestionConfigurationBuilder.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import Foundation
3232
return self
3333
}
3434

35-
public func build(disabled: Bool = true,
35+
public func build(disabled: Bool = false,
3636
ingestionUrl: String,
3737
clientConiguration: EventClientConfiguration) -> IngestionConfiguration {
3838
return IngestionConfiguration(clientConfiguration: clientConiguration,

AmazonChimeSDK/AmazonChimeSDK/internal/audio/DefaultAudioClientObserver.swift

+7-3
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,12 @@ class DefaultAudioClientObserver: NSObject, AudioClientDelegate {
4949
}
5050

5151
public func audioClientStateChanged(_ audioClientState: audio_client_state_t, status: audio_client_status_t) {
52-
let newAudioState = Converters.AudioClientState.toSessionStateControllerAction(state: audioClientState)
52+
var newAudioState = Converters.AudioClientState.toSessionStateControllerAction(state: audioClientState)
5353
let newAudioStatus = Converters.AudioClientStatus.toMeetingSessionStatusCode(status: status)
54+
55+
if newAudioStatus == .audioServerHungup || newAudioStatus == .audioJoinedFromAnotherDevice {
56+
newAudioState = .finishDisconnecting
57+
}
5458

5559
if newAudioStatus == .unknown {
5660
logger.info(msg: "AudioClient State rawValue: \(audioClientState.rawValue) Unknown Status rawValue: \(status.rawValue)")
@@ -357,15 +361,15 @@ class DefaultAudioClientObserver: NSObject, AudioClientDelegate {
357361
switch currentAudioState {
358362
case .connecting,
359363
.finishConnecting:
360-
if newAudioStatus == .audioServerHungup {
364+
if newAudioStatus == .audioServerHungup || newAudioStatus == .audioJoinedFromAnotherDevice {
361365
handleAudioSessionEndedByServer(newAudioStatus: newAudioStatus)
362366
} // Else no-op, client initiated stops already handled in DefaultAudioClientController.stop()
363367
break
364368
case .reconnecting:
365369
notifyAudioClientObserver { (observer: AudioVideoObserver) in
366370
observer.audioSessionDidCancelReconnect()
367371
}
368-
if newAudioStatus == .audioServerHungup {
372+
if newAudioStatus == .audioServerHungup || newAudioStatus == .audioJoinedFromAnotherDevice {
369373
handleAudioSessionEndedByServer(newAudioStatus: newAudioStatus)
370374
} // Else no-op, client initiated stops already handled in DefaultAudioClientController.stop()
371375
default:

AmazonChimeSDK/AmazonChimeSDK/internal/utils/Converters.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ import Foundation
5555
return .reconnecting
5656
case AUDIO_CLIENT_STATE_DISCONNECTING:
5757
return .disconnecting
58-
case AUDIO_CLIENT_STATE_DISCONNECTED_NORMAL,
59-
AUDIO_CLIENT_STATE_SERVER_HUNGUP:
58+
case AUDIO_CLIENT_STATE_DISCONNECTED_NORMAL:
6059
return .finishDisconnecting
6160
case AUDIO_CLIENT_STATE_DISCONNECTED_ABNORMAL,
61+
AUDIO_CLIENT_STATE_SERVER_HUNGUP,
6262
AUDIO_CLIENT_STATE_FAILED_TO_CONNECT:
6363
return .fail
6464
default:

0 commit comments

Comments
 (0)