Change summary
src/main/java/eu/siacs/conversations/services/CallIntegration.java | 7
src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java | 2
2 files changed, 9 insertions(+)
Detailed changes
@@ -145,6 +145,13 @@ public class CallIntegration extends Connection {
}
}
+ public void setAudioDeviceWhenAvailable(final AudioDevice audioDevice) {
+ final var available = getAudioDevices();
+ if (available.contains(audioDevice)) {
+ this.setAudioDevice(audioDevice);
+ }
+ }
+
@RequiresApi(api = Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
private Set<AudioDevice> getAudioDevicesUpsideDownCake() {
return ImmutableSet.copyOf(
@@ -2610,6 +2610,8 @@ public class JingleRtpConnection extends AbstractJingleConnection
private void modifyLocalContentMap(final RtpContentMap rtpContentMap) {
final RtpContentMap activeContents = rtpContentMap.activeContents();
setLocalContentMap(activeContents);
+ this.callIntegration.setAudioDeviceWhenAvailable(
+ CallIntegration.initialAudioDevice(activeContents.getMedia()));
updateEndUserState();
}