version bump webrtc to m117

This commit is contained in:
Daniel Gultsch 2023-09-29 16:19:01 +02:00 committed by Arne
parent c5c50ca937
commit b45c29a48b
3 changed files with 30 additions and 23 deletions

View file

@ -65,7 +65,7 @@ dependencies {
exclude group: 'com.android.support', module: 'appcompat-v7'
exclude group: 'com.android.support', module: 'exifinterface'
}
implementation 'im.conversations.webrtc:webrtc-android:104.0.0'
implementation 'im.conversations.webrtc:webrtc-android:117.1.0'
//implementation 'org.snikket:webrtc-android:107.0.0'
implementation 'org.jitsi:org.otr4j:0.23'
implementation 'org.bouncycastle:bcmail-jdk15on:1.64'

View file

@ -2668,20 +2668,22 @@ public class JingleRtpConnection extends AbstractJingleConnection
+ ": skipping invalid combination of udp/tls in external services");
continue;
}
// TODO Starting on milestone 110, Chromium will perform
// stricter validation of TURN and STUN URLs passed to the
// constructor of an RTCPeerConnection. More specifically,
// STUN URLs will not support a query section, and TURN URLs
// will support only a transport parameter in their query
// section.
// STUN URLs do not support a query section since M110
final String uri;
if (Arrays.asList("stun","stuns").contains(type)) {
uri = String.format("%s:%s%s", type, IP.wrapIPv6(host),port);
} else {
uri = String.format(
"%s:%s:%s?transport=%s",
type,
IP.wrapIPv6(host),
port,
transport);
}
final PeerConnection.IceServer.Builder iceServerBuilder =
PeerConnection.IceServer.builder(
String.format(
"%s:%s:%s?transport=%s",
type,
IP.wrapIPv6(host),
port,
transport));
PeerConnection.IceServer.builder(uri);
iceServerBuilder.setTlsCertPolicy(
PeerConnection.TlsCertPolicy
.TLS_CERT_POLICY_INSECURE_NO_CHECK);

View file

@ -35,13 +35,13 @@ import org.webrtc.SdpObserver;
import org.webrtc.SessionDescription;
import org.webrtc.VideoTrack;
import org.webrtc.audio.JavaAudioDeviceModule;
import org.webrtc.voiceengine.WebRtcAudioEffects;
import org.webrtc.DtmfSender;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@ -285,9 +285,8 @@ public class WebRTCWrapper {
Preconditions.checkNotNull(media);
Preconditions.checkArgument(
media.size() > 0, "media can not be empty when initializing peer connection");
final boolean setUseHardwareAcousticEchoCanceler =
WebRtcAudioEffects.canUseAcousticEchoCanceler()
&& !HARDWARE_AEC_BLACKLIST.contains(Build.MODEL);
final boolean setUseHardwareAcousticEchoCanceler = !HARDWARE_AEC_BLACKLIST.contains(Build.MODEL);
Log.d(
Config.LOGTAG,
String.format(
@ -618,11 +617,7 @@ public class WebRTCWrapper {
new SetSdpObserver() {
@Override
public void onSetSuccess() {
final SessionDescription description =
peerConnection.getLocalDescription();
Log.d(EXTENDED_LOGGING_TAG, "set local description:");
logDescription(description);
future.set(description);
future.setFuture(getLocalDescriptionFuture());
}
@Override
@ -636,6 +631,16 @@ public class WebRTCWrapper {
MoreExecutors.directExecutor());
}
private ListenableFuture<SessionDescription> getLocalDescriptionFuture() {
return Futures.submit(() -> {
final SessionDescription description = requirePeerConnection().getLocalDescription();
Log.d(EXTENDED_LOGGING_TAG, "local description:");
logDescription(description);
return description;
},executorService);
}
synchronized ListenableFuture<SessionDescription> rollback() {
return Futures.transformAsync(
getPeerConnectionFuture(),