Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions stream-video-android-core/api/stream-video-android-core.api
Original file line number Diff line number Diff line change
Expand Up @@ -7616,12 +7616,11 @@ public final class io/getstream/video/android/core/LocalStats {
}

public final class io/getstream/video/android/core/MediaManagerImpl {
public fun <init> (Landroid/content/Context;Lio/getstream/video/android/core/Call;Lkotlinx/coroutines/CoroutineScope;Lorg/webrtc/EglBase$Context;I)V
public synthetic fun <init> (Landroid/content/Context;Lio/getstream/video/android/core/Call;Lkotlinx/coroutines/CoroutineScope;Lorg/webrtc/EglBase$Context;IILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun <init> (Landroid/content/Context;Lio/getstream/video/android/core/Call;Lkotlinx/coroutines/CoroutineScope;Lorg/webrtc/EglBase$Context;ILkotlin/jvm/functions/Function0;)V
public synthetic fun <init> (Landroid/content/Context;Lio/getstream/video/android/core/Call;Lkotlinx/coroutines/CoroutineScope;Lorg/webrtc/EglBase$Context;ILkotlin/jvm/functions/Function0;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun cleanup ()V
public final fun getAudioSource ()Lorg/webrtc/AudioSource;
public final fun getAudioTrack ()Lorg/webrtc/AudioTrack;
public final fun getAudioUsage ()I
public final fun getCall ()Lio/getstream/video/android/core/Call;
public final fun getContext ()Landroid/content/Context;
public final fun getEglBaseContext ()Lorg/webrtc/EglBase$Context;
Expand Down Expand Up @@ -8289,8 +8288,8 @@ public class io/getstream/video/android/core/call/connection/StreamPeerConnectio
}

public final class io/getstream/video/android/core/call/connection/StreamPeerConnectionFactory {
public fun <init> (Landroid/content/Context;ILorg/webrtc/ManagedAudioProcessingFactory;)V
public synthetic fun <init> (Landroid/content/Context;ILorg/webrtc/ManagedAudioProcessingFactory;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun <init> (Landroid/content/Context;ILkotlin/jvm/functions/Function0;Lorg/webrtc/ManagedAudioProcessingFactory;)V
public synthetic fun <init> (Landroid/content/Context;ILkotlin/jvm/functions/Function0;Lorg/webrtc/ManagedAudioProcessingFactory;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun getEglBase ()Lorg/webrtc/EglBase;
public final fun getSenderCapabilities (Lorg/webrtc/MediaStreamTrack$MediaType;)Lorg/webrtc/RtpCapabilities;
public final fun isAudioProcessingEnabled ()Z
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -235,7 +235,7 @@ public class Call(
internal var peerConnectionFactory: StreamPeerConnectionFactory = StreamPeerConnectionFactory(
context = clientImpl.context,
audioProcessing = clientImpl.audioProcessing,
audioUsage = clientImpl.callServiceConfigRegistry.get(type).audioUsage,
audioUsageProvider = { clientImpl.callServiceConfigRegistry.get(type).audioUsage },
)

internal val clientCapabilities = ConcurrentHashMap<String, ClientCapability>().apply {
Expand All @@ -254,7 +254,7 @@ public class Call(
this,
scope,
peerConnectionFactory.eglBase.eglBaseContext,
clientImpl.callServiceConfigRegistry.get(type).audioUsage,
audioUsageProvider = { clientImpl.callServiceConfigRegistry.get(type).audioUsage },
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1005,7 +1005,13 @@ class MediaManagerImpl(
val call: Call,
val scope: CoroutineScope,
val eglBaseContext: EglBase.Context,
val audioUsage: Int = defaultAudioUsage,
@Deprecated(
"Use audioUsageProvider instead",
replaceWith = ReplaceWith("audioUsageProvider"),
level = DeprecationLevel.ERROR,
)
private val audioUsage: Int = defaultAudioUsage,
private val audioUsageProvider: (() -> Int) = { defaultAudioUsage },
) {
private val filterVideoProcessor =
FilterVideoProcessor({ call.videoFilter }, { camera.surfaceTextureHelper })
Expand Down Expand Up @@ -1040,7 +1046,7 @@ class MediaManagerImpl(

internal val camera =
CameraManager(this, eglBaseContext, DefaultCameraCharacteristicsValidator())
internal val microphone = MicrophoneManager(this, audioUsage)
internal val microphone = MicrophoneManager(this, audioUsageProvider.invoke())
internal val speaker = SpeakerManager(this, microphone)
internal val screenShare = ScreenShareManager(this, eglBaseContext)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,13 @@ import java.nio.ByteBuffer
*/
public class StreamPeerConnectionFactory(
private val context: Context,
@Deprecated(
"Use audioUsageProvider instead",
replaceWith = ReplaceWith("audioUsageProvider"),
level = DeprecationLevel.ERROR,
)
private val audioUsage: Int = defaultAudioUsage,
private val audioUsageProvider: (() -> Int) = { defaultAudioUsage },
private var audioProcessing: ManagedAudioProcessingFactory? = null,
) {

Expand Down Expand Up @@ -174,9 +180,9 @@ public class StreamPeerConnectionFactory(
.setUseHardwareAcousticEchoCanceler(
Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q,
).apply {
if (audioUsage != defaultAudioUsage) {
if (audioUsageProvider.invoke() != defaultAudioUsage) {
setAudioAttributes(
AudioAttributes.Builder().setUsage(audioUsage)
AudioAttributes.Builder().setUsage(audioUsageProvider.invoke())
.build(),
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ fun LiveAudience(

// Step 2 - join a call, which type is `default` and id is `123`.
val call = remember(callId) { client.call("livestream", callId) }
call.speaker.setEnabled(enabled = true)

suspend fun performJoin() {
call.join()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ fun LiveHost(

// Step 2 - join a call, which type is `default` and id is `123`.
val call = client.call("livestream", callId)
call.speaker.setEnabled(enabled = false)

LaunchCallPermissions(call = call) {
val result = call.join(create = true)
Expand Down
Loading