Extends the ColibriConferenceIQ to make it possible to specify the RTCP termination strategy to be used in a COLIBRI conference

fix-message-formatting
George Politis 11 years ago committed by Georgios Politis
parent f42f2953b3
commit 23504ed55b

@ -64,6 +64,8 @@ public class ColibriConferenceIQ
*/
public Recording recording = null;
private RTCPTerminationStrategy rtcpTerminationStrategy = null;
/** Initializes a new <tt>ColibriConferenceIQ</tt> instance. */
public ColibriConferenceIQ()
{
@ -141,6 +143,10 @@ public String getChildElementXML()
content.toXML(xml);
if (recording != null)
recording.toXML(xml);
if (rtcpTerminationStrategy != null)
rtcpTerminationStrategy.toXML(xml);
xml.append("</").append(ELEMENT_NAME).append('>');
}
return xml.toString();
@ -253,6 +259,16 @@ public void setID(String id)
this.id = id;
}
public RTCPTerminationStrategy getRTCPTerminationStrategy()
{
return rtcpTerminationStrategy;
}
public void setRTCPTerminationStrategy(RTCPTerminationStrategy rtcpTerminationStrategy)
{
this.rtcpTerminationStrategy = rtcpTerminationStrategy;
}
/**
* Class contains common code for both <tt>Channel</tt> and
* <tt>SctpConnection</tt> IQ classes.
@ -515,6 +531,33 @@ public void toXML(StringBuilder xml)
}
}
public static class RTCPTerminationStrategy
{
public static final String ELEMENT_NAME = "rtcp-termination-strategy";
public static final String NAME_ATTR_NAME = "name";
private String name;
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void toXML(StringBuilder xml)
{
xml.append('<').append(ELEMENT_NAME);
xml.append(' ').append(NAME_ATTR_NAME).append("='")
.append(name).append('\'');
xml.append("/>");
}
}
/**
* Represents a <tt>channel</tt> included into a <tt>content</tt> of a Jitsi
* Videobridge <tt>conference</tt> IQ.

@ -158,6 +158,8 @@ public IQ parseIQ(XmlPullParser parser)
boolean done = false;
ColibriConferenceIQ.Channel channel = null;
ColibriConferenceIQ.RTCPTerminationStrategy rtcpTerminationStrategy
= null;
ColibriConferenceIQ.SctpConnection sctpConnection = null;
ColibriConferenceIQ.Content content = null;
ColibriConferenceIQ.Recording recording = null;
@ -215,6 +217,13 @@ else if (ColibriConferenceIQ.Content.ELEMENT_NAME.equals(
conference.addContent(content);
content = null;
}
else if (ColibriConferenceIQ.RTCPTerminationStrategy
.ELEMENT_NAME.equals(name))
{
conference.setRTCPTerminationStrategy(
rtcpTerminationStrategy);
rtcpTerminationStrategy = null;
}
else if (ColibriConferenceIQ.Recording.ELEMENT_NAME.equals(
name))
{
@ -336,6 +345,24 @@ else if (ColibriConferenceIQ.Recording.ELEMENT_NAME.equals(
if ((rtpPort != null) && (rtpPort.length() != 0))
channel.setRTPPort(Integer.parseInt(rtpPort));
}
else if (ColibriConferenceIQ.RTCPTerminationStrategy
.ELEMENT_NAME.equals(name))
{
rtcpTerminationStrategy =
new ColibriConferenceIQ.RTCPTerminationStrategy();
// name
String strategyName
= parser.getAttributeValue(
"",
ColibriConferenceIQ.RTCPTerminationStrategy
.NAME_ATTR_NAME);
if ((strategyName != null)
&& (strategyName.length() != 0))
rtcpTerminationStrategy.setName(strategyName);
}
else if (ColibriConferenceIQ.Channel.SSRC_ELEMENT_NAME
.equals(name))
{

Loading…
Cancel
Save