/** * Sets the values of the properties of a specific <tt>ColibriConferenceIQ</tt> to the values of * the respective properties of this instance. Thus, the specified <tt>iq</tt> may be thought of * as a description of this instance. * * <p><b>Note</b>: The copying of the values is deep i.e. the <tt>Contents</tt>s of this instance * are described in the specified <tt>iq</tt>. * * @param iq the <tt>ColibriConferenceIQ</tt> to set the values of the properties of this instance * on */ public void describeDeep(ColibriConferenceIQ iq) { describeShallow(iq); if (isRecording()) { ColibriConferenceIQ.Recording recordingIQ = new ColibriConferenceIQ.Recording(State.ON.toString()); recordingIQ.setDirectory(getRecordingDirectory()); iq.setRecording(recordingIQ); } for (Content content : getContents()) { ColibriConferenceIQ.Content contentIQ = iq.getOrCreateContent(content.getName()); for (Channel channel : content.getChannels()) { if (channel instanceof SctpConnection) { ColibriConferenceIQ.SctpConnection sctpConnectionIQ = new ColibriConferenceIQ.SctpConnection(); channel.describe(sctpConnectionIQ); contentIQ.addSctpConnection(sctpConnectionIQ); } else { ColibriConferenceIQ.Channel channelIQ = new ColibriConferenceIQ.Channel(); channel.describe(channelIQ); contentIQ.addChannel(channelIQ); } } } }
/** {@inheritDoc} */ @Override public void expire() { try { eventDispatcher.shutdown(); } finally { super.expire(); } }
/** * Finds an <tt>Endpoint</tt> of this <tt>Conference</tt> which sends an RTP stream with a * specific SSRC and with a specific <tt>MediaType</tt>. * * @param receiveSSRC the SSRC of an RTP stream received by this <tt>Conference</tt> whose sending * <tt>Endpoint</tt> is to be found * @param mediaType the <tt>MediaType</tt> of the RTP stream identified by the specified * <tt>ssrc</tt> * @return <tt>Endpoint</tt> of this <tt>Conference</tt> which sends an RTP stream with the * specified <tt>ssrc</tt> and with the specified <tt>mediaType</tt>; otherwise, <tt>null</tt> */ Endpoint findEndpointByReceiveSSRC(long receiveSSRC, MediaType mediaType) { Channel channel = findChannelByReceiveSSRC(receiveSSRC, mediaType); return (channel == null) ? null : channel.getEndpoint(); }