Skip to content

Commit a883ab9

Browse files
committed
audio resume/pause のログメッセージを修正, 分岐を when に置き換え
1 parent e90c1fa commit a883ab9

File tree

2 files changed

+10
-16
lines changed

2 files changed

+10
-16
lines changed

sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/rtc/AudioDeviceModuleWrapper.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ import org.webrtc.audio.JavaAudioDeviceModule
2323
* 本クラスは専用の HandlerThread を用意し、そこで pauseRecording()/resumeRecording() を実行した上で
2424
* タイムアウト [PAUSE_TIMEOUT_MILLIS] ミリ秒で待機して結果を返します。
2525
* これは libwebrtc 側で録音スレッド停止の際にタイムアウト 2,000 ミリ秒の join 待ちが発生するためです。
26-
* また、ADM として JavaAudioDeviceModule 利用想定のため、他 ADM での動作はサポートしていません。
26+
*
27+
* また、アプリ側でカスタム ADM を差し込む場合は本クラスは利用されず、録音停止/再開はサポートされません。
2728
*/
2829
class AudioDeviceModuleWrapper(
2930
private val adm: AudioDeviceModule,
@@ -80,6 +81,6 @@ class AudioDeviceModuleWrapper(
8081
private fun runCatchingWithLog(block: () -> Boolean): Boolean =
8182
runCatching(block)
8283
.onFailure {
83-
SoraLogger.w(TAG, "pause/resume failed: ${it.message}")
84+
SoraLogger.w(TAG, "pause/resume failed: ${it.message ?: it.javaClass.simpleName}", it)
8485
}.getOrDefault(false)
8586
}

sora-android-sdk/src/main/kotlin/jp/shiguredo/sora/sdk/channel/rtc/PeerChannel.kt

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -843,26 +843,19 @@ class PeerChannelImpl(
843843
return false
844844
}
845845
return withContext(executorDispatcher) {
846-
if (paused) {
847-
if (audioRecordingPaused) {
848-
true
849-
} else {
850-
pauseAudioRecording()
851-
}
852-
} else {
853-
if (!audioRecordingPaused) {
854-
true
855-
} else {
856-
resumeAudioRecording()
857-
}
846+
when {
847+
paused && audioRecordingPaused -> true
848+
!paused && !audioRecordingPaused -> true
849+
paused -> pauseAudioRecording()
850+
else -> resumeAudioRecording()
858851
}
859852
}
860853
}
861854

862855
/** ADM の録音を停止(マイクインジケータ消灯狙い) */
863856
private suspend fun pauseAudioRecording(): Boolean {
864857
val admWrapper = componentFactory.controllableAdm
865-
SoraLogger.d(TAG, "[audio_recording_pause] pausing audio recording")
858+
SoraLogger.d(TAG, "[audio_recording_pause] pausing ADM audio recording")
866859
// 既に停止中の場合でも true が返る
867860
val paused = admWrapper?.pauseRecording() ?: false
868861
SoraLogger.d(TAG, "[audio_recording_pause] pauseRecording result=$paused")
@@ -898,7 +891,7 @@ class PeerChannelImpl(
898891
private suspend fun resumeAudioRecording(): Boolean {
899892
// ADM の録音を再開
900893
val admWrapper = componentFactory.controllableAdm
901-
SoraLogger.d(TAG, "[audio_recording_pause] resume audio recording")
894+
SoraLogger.d(TAG, "[audio_recording_pause] resume ADM audio recording")
902895
// 既に録音中の場合でも true が返る
903896
val resumed = admWrapper?.resumeRecording() ?: false
904897
SoraLogger.d(TAG, "[audio_recording_pause] resumeRecording result=$resumed")

0 commit comments

Comments
 (0)