From 076fb233e2ac66bbfe5bf483b945b673eb246394 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Tue, 16 Mar 2021 11:17:24 +0100 Subject: [PATCH] openvidu-server: use OfferOptions when generating SDP offer --- .../openvidu/server/kurento/endpoint/MediaEndpoint.java | 7 ++++--- .../server/kurento/endpoint/SubscriberEndpoint.java | 8 +++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/endpoint/MediaEndpoint.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/endpoint/MediaEndpoint.java index e28f072b..0cb62a7a 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/endpoint/MediaEndpoint.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/endpoint/MediaEndpoint.java @@ -37,6 +37,7 @@ import org.kurento.client.IceCandidate; import org.kurento.client.ListenerSubscription; import org.kurento.client.MediaElement; import org.kurento.client.MediaPipeline; +import org.kurento.client.OfferOptions; import org.kurento.client.PlayerEndpoint; import org.kurento.client.RtpEndpoint; import org.kurento.client.SdpEndpoint; @@ -519,13 +520,13 @@ public abstract class MediaEndpoint { } } - protected String generateOffer() throws OpenViduException { + protected String generateOffer(OfferOptions offerOptions) throws OpenViduException { if (this.isWeb()) { if (webEndpoint == null) { throw new OpenViduException(Code.MEDIA_WEBRTC_ENDPOINT_ERROR_CODE, "Can't generate offer when WebRtcEndpoint is null (ep: " + endpointName + ")"); } - return webEndpoint.generateOffer(); + return webEndpoint.generateOffer(offerOptions); } else if (this.isPlayerEndpoint()) { return ""; } else { @@ -533,7 +534,7 @@ public abstract class MediaEndpoint { throw new OpenViduException(Code.MEDIA_RTP_ENDPOINT_ERROR_CODE, "Can't generate offer when RtpEndpoint is null (ep: " + endpointName + ")"); } - return endpoint.generateOffer(); + return endpoint.generateOffer(offerOptions); } } diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/endpoint/SubscriberEndpoint.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/endpoint/SubscriberEndpoint.java index 1ff2ce45..da559339 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/endpoint/SubscriberEndpoint.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/endpoint/SubscriberEndpoint.java @@ -20,6 +20,7 @@ package io.openvidu.server.kurento.endpoint; import java.util.Map.Entry; import org.kurento.client.MediaPipeline; +import org.kurento.client.OfferOptions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -50,7 +51,12 @@ public class SubscriberEndpoint extends MediaEndpoint { publisher.connect(this.getEndpoint(), true); this.createdAt = System.currentTimeMillis(); this.publisherStreamId = publisher.getStreamId(); - String sdpOffer = generateOffer(); + + OfferOptions offerOptions = new OfferOptions(); + offerOptions.setOfferToReceiveAudio(publisher.getMediaOptions().hasAudio()); + offerOptions.setOfferToReceiveVideo(publisher.getMediaOptions().hasVideo()); + String sdpOffer = generateOffer(offerOptions); + gatherCandidates(); return sdpOffer; }