From c2c72ae864e7581b102379dd6fa617745aff46ae Mon Sep 17 00:00:00 2001 From: Boris Grozev <boris@jitsi.org> Date: Fri, 16 Jan 2015 20:15:06 +0200 Subject: [PATCH] Removes the separate methods for configuring abs-send-time and uses RTP extensions. --- .../jitsi/impl/neomedia/MediaStreamImpl.java | 29 ++++++++++--------- .../neomedia/transform/AbsSendTimeEngine.java | 1 - .../jitsi/service/neomedia/MediaStream.java | 15 ---------- .../jitsi/service/neomedia/RTPExtension.java | 8 +++++ 4 files changed, 24 insertions(+), 29 deletions(-) diff --git a/src/org/jitsi/impl/neomedia/MediaStreamImpl.java b/src/org/jitsi/impl/neomedia/MediaStreamImpl.java index b9e06dd1..1a4c6346 100644 --- a/src/org/jitsi/impl/neomedia/MediaStreamImpl.java +++ b/src/org/jitsi/impl/neomedia/MediaStreamImpl.java @@ -535,12 +535,25 @@ protected void addRemoteSourceID(long remoteSourceID) @Override public void addRTPExtension(byte extensionID, RTPExtension rtpExtension) { + boolean active + = !MediaDirection.INACTIVE.equals(rtpExtension.getDirection()); synchronized (activeRTPExtensions) { - if (MediaDirection.INACTIVE.equals(rtpExtension.getDirection())) - activeRTPExtensions.remove(extensionID); - else + if (active) activeRTPExtensions.put(extensionID, rtpExtension); + else + activeRTPExtensions.remove(extensionID); + } + + if (RTPExtension.ABS_SEND_TIME_URN + .equals(rtpExtension.getURI().toString())) + { + AbsSendTimeEngine absSendTimeEngine = getAbsSendTimeEngine(); + if (absSendTimeEngine != null) + { + absSendTimeEngine.setExtensionID( + active ? extensionID : -1); + } } } @@ -2186,16 +2199,6 @@ else if (t instanceof ThreadDeath) } } - /** - * {@inheritDoc} - */ - @Override - public void setAbsSendTimeExtensionID(int id) - { - if (absSendTimeEngine != null) - absSendTimeEngine.setExtensionID(id); - } - /** * Sets the <tt>StreamConnector</tt> to be used by this instance for sending * and receiving media. diff --git a/src/org/jitsi/impl/neomedia/transform/AbsSendTimeEngine.java b/src/org/jitsi/impl/neomedia/transform/AbsSendTimeEngine.java index b43e4ca1..861d4583 100644 --- a/src/org/jitsi/impl/neomedia/transform/AbsSendTimeEngine.java +++ b/src/org/jitsi/impl/neomedia/transform/AbsSendTimeEngine.java @@ -31,7 +31,6 @@ public class AbsSendTimeEngine */ private int extensionID = -1; - /** * Implements {@link SinglePacketTransformer#reverseTransform(RawPacket)}. */ diff --git a/src/org/jitsi/service/neomedia/MediaStream.java b/src/org/jitsi/service/neomedia/MediaStream.java index c30b095d..b1788c17 100644 --- a/src/org/jitsi/service/neomedia/MediaStream.java +++ b/src/org/jitsi/service/neomedia/MediaStream.java @@ -424,19 +424,4 @@ public void addDynamicRTPPayloadTypeOverride(byte originalPt, * effect on an already closed stream and is simply ignored. */ public void stop(); - - /** - * Sets the ID of the abs-send-time RTP header extension to be used by - * this <tt>MediaStream</tt>. - * - * If set to a value different than -1, any outgoing RTP packets that - * already contain an RTP extension with this ID will have the timestamp - * in said extension replaced with one generated locally at (close to) the - * time of transmission. - * - * See http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time - * - * @param id the ID to set. - */ - public void setAbsSendTimeExtensionID(int id); } diff --git a/src/org/jitsi/service/neomedia/RTPExtension.java b/src/org/jitsi/service/neomedia/RTPExtension.java index 7aa2fac7..ef6762c1 100644 --- a/src/org/jitsi/service/neomedia/RTPExtension.java +++ b/src/org/jitsi/service/neomedia/RTPExtension.java @@ -34,6 +34,14 @@ public class RTPExtension public static final String SSRC_AUDIO_LEVEL_URN = "urn:ietf:params:rtp-hdrext:ssrc-audio-level"; + /** + * The URN identifying the abs-send-time RTP extension. + * Defined at + * {@link "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"} + */ + public static final String ABS_SEND_TIME_URN + = "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"; + /** * The direction that this extension will be transmitted in. */ -- GitLab