aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpaweldomas <pawel.domas@jitsi.org>2014-11-27 09:46:43 +0100
committerpaweldomas <pawel.domas@jitsi.org>2014-11-27 09:46:43 +0100
commitd2dfcd6c53996acf9b471589193279faa8e986ee (patch)
treeedfbb2898618844943e9daea62376649ec8265c9
parentc0cebfe7c11ba5de1c9c4dbd873f79826a51ee98 (diff)
downloadjitsi-d2dfcd6c53996acf9b471589193279faa8e986ee.zip
jitsi-d2dfcd6c53996acf9b471589193279faa8e986ee.tar.gz
jitsi-d2dfcd6c53996acf9b471589193279faa8e986ee.tar.bz2
Adds 'channel last N', 'adaptive last n' and 'adaptive simulcast' options to Colibri Builder.
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/extensions/colibri/ColibriBuilder.java95
1 files changed, 95 insertions, 0 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/extensions/colibri/ColibriBuilder.java b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/colibri/ColibriBuilder.java
index 55ede81..f1380c2 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/extensions/colibri/ColibriBuilder.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/extensions/colibri/ColibriBuilder.java
@@ -81,6 +81,26 @@ public class ColibriBuilder
private boolean hasAnyChannelsToExpire = false;
/**
+ * Channel 'last-n' option that will be added when channels are created.
+ * Set to <tt>null</tt> in order to omit.
+ */
+ private Integer channelLastN;
+
+ /**
+ * Channel 'adaptive-last-n' option that will be added when channels are
+ * created.
+ * Set to <tt>null</tt> in order to omit.
+ */
+ private Boolean adaptiveLastN;
+
+ /**
+ * Channel 'adaptive-simulcast' option that will be added when channels are
+ * created.
+ * Set to <tt>null</tt> in order to omit.
+ */
+ private Boolean adaptiveSimulcast;
+
+ /**
* Creates new instance of {@link ColibriBuilder} for given
* <tt>conferenceState</tt>.
*
@@ -165,6 +185,11 @@ public class ColibriBuilder
for (PayloadTypePacketExtension ptpe : rdpe.getPayloadTypes())
remoteRtpChannelRequest.addPayloadType(ptpe);
+
+ // Config options
+ remoteRtpChannelRequest.setLastN(channelLastN);
+ remoteRtpChannelRequest.setAdaptiveLastN(adaptiveLastN);
+ remoteRtpChannelRequest.setAdaptiveSimulcast(adaptiveSimulcast);
}
// Copy transport
@@ -602,6 +627,76 @@ public class ColibriBuilder
}
/**
+ * Channel 'last-n' option that will be added when channels are created.
+ * Set to <tt>null</tt> in order to omit. Value is reset after
+ * {@link #reset} is called.
+ *
+ * @return an integer value or <tt>null</tt> if option is unspecified.
+ */
+ public Integer getChannelLastN()
+ {
+ return channelLastN;
+ }
+
+ /**
+ * Sets channel 'last-n' option that will be added to the request when
+ * channels are created.
+ * @param channelLastN an integer value to specify 'last-n' option or
+ * <tt>null</tt> in order to omit in requests.
+ */
+ public void setChannelLastN(Integer channelLastN)
+ {
+ this.channelLastN = channelLastN;
+ }
+
+ /**
+ * Channel 'adaptive-last-n' option that will be added when channels are
+ * created.
+ * Set to <tt>null</tt> in order to omit. Value is reset after
+ * {@link #reset} is called.
+ *
+ * @return a boolean value or <tt>null</tt> if option is unspecified.
+ */
+ public Boolean getAdaptiveLastN()
+ {
+ return adaptiveLastN;
+ }
+
+ /**
+ * Sets channel 'adaptive-last-n' option that will be added to the request
+ * when channels are created.
+ *
+ * @param adaptiveLastN a boolean value to specify 'adaptive-last-n' option
+ * or <tt>null</tt> in order to omit in requests.
+ */
+ public void setAdaptiveLastN(Boolean adaptiveLastN)
+ {
+ this.adaptiveLastN = adaptiveLastN;
+ }
+
+ /**
+ * Channel 'adaptive-simulcast' option that will be added when channels are
+ * created. Set to <tt>null</tt> in order to omit.
+ *
+ * @return a boolean value or <tt>null</tt> if option is unspecified.
+ */
+ public Boolean getAdaptiveSimulcast()
+ {
+ return adaptiveSimulcast;
+ }
+
+ /**
+ * Sets channel 'adaptive-simulcast' option that will be added to the
+ * request when channels are created.
+ * @param adaptiveSimulcast a boolean value to specify 'adaptive-simulcast'
+ * option or <tt>null</tt> in order to omit in requests.
+ */
+ public void setAdaptiveSimulcast(Boolean adaptiveSimulcast)
+ {
+ this.adaptiveSimulcast = adaptiveSimulcast;
+ }
+
+ /**
* The types of request that can be built with {@link ColibriBuilder}.
*/
public enum RequestType