Search in sources :

Example 6 with PayloadType

use of org.jivesoftware.smackx.jingleold.media.PayloadType in project Smack by igniterealtime.

the class JingleSession method setupListeners.

/**
     * Setup the listeners that act on events coming from the lower level negotiators.
     */
public void setupListeners() {
    JingleMediaListener jingleMediaListener = new JingleMediaListener() {

        @Override
        public void mediaClosed(PayloadType cand) {
        }

        @Override
        public void mediaEstablished(PayloadType pt) throws NotConnectedException, InterruptedException {
            if (isFullyEstablished()) {
                Jingle jout = new Jingle(JingleActionEnum.SESSION_ACCEPT);
                // Build up a response packet from each media manager.
                for (ContentNegotiator contentNegotiator : contentNegotiators) {
                    if (contentNegotiator.getNegotiatorState() == JingleNegotiatorState.SUCCEEDED)
                        jout.addContent(contentNegotiator.getJingleContent());
                }
                // Send the "accept" and wait for the ACK
                addExpectedId(jout.getStanzaId());
                sendStanza(jout);
            //triggerSessionEstablished();
            }
        }
    };
    JingleTransportListener jingleTransportListener = new JingleTransportListener() {

        @Override
        public void transportEstablished(TransportCandidate local, TransportCandidate remote) throws NotConnectedException, InterruptedException {
            if (isFullyEstablished()) {
                // CHECKSTYLE:OFF
                // Indicate that this session is active.
                setSessionState(JingleSessionStateActive.getInstance());
                for (ContentNegotiator contentNegotiator : contentNegotiators) {
                    // CHECKSTYLE:ON
                    if (contentNegotiator.getNegotiatorState() == JingleNegotiatorState.SUCCEEDED)
                        contentNegotiator.triggerContentEstablished();
                }
                if (getSessionState().equals(JingleSessionStatePending.getInstance())) {
                    Jingle jout = new Jingle(JingleActionEnum.SESSION_ACCEPT);
                    // Build up a response packet from each media manager.
                    for (ContentNegotiator contentNegotiator : contentNegotiators) {
                        if (contentNegotiator.getNegotiatorState() == JingleNegotiatorState.SUCCEEDED)
                            jout.addContent(contentNegotiator.getJingleContent());
                    }
                    // Send the "accept" and wait for the ACK
                    addExpectedId(jout.getStanzaId());
                    sendStanza(jout);
                }
            }
        }

        @Override
        public void transportClosed(TransportCandidate cand) {
        }

        @Override
        public void transportClosedOnError(XMPPException e) {
        }
    };
    addMediaListener(jingleMediaListener);
    addTransportListener(jingleTransportListener);
}
Also used : Jingle(org.jivesoftware.smackx.jingleold.packet.Jingle) TransportCandidate(org.jivesoftware.smackx.jingleold.nat.TransportCandidate) JingleMediaListener(org.jivesoftware.smackx.jingleold.listeners.JingleMediaListener) XMPPException(org.jivesoftware.smack.XMPPException) PayloadType(org.jivesoftware.smackx.jingleold.media.PayloadType) JingleTransportListener(org.jivesoftware.smackx.jingleold.listeners.JingleTransportListener)

Aggregations

PayloadType (org.jivesoftware.smackx.jingleold.media.PayloadType)6 XMPPException (org.jivesoftware.smack.XMPPException)2 TransportCandidate (org.jivesoftware.smackx.jingleold.nat.TransportCandidate)2 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 SmackException (org.jivesoftware.smack.SmackException)1 IQ (org.jivesoftware.smack.packet.IQ)1 JingleMediaListener (org.jivesoftware.smackx.jingleold.listeners.JingleMediaListener)1 JingleTransportListener (org.jivesoftware.smackx.jingleold.listeners.JingleTransportListener)1 JingleMediaManager (org.jivesoftware.smackx.jingleold.media.JingleMediaManager)1 MediaNegotiator (org.jivesoftware.smackx.jingleold.media.MediaNegotiator)1 JingleTransportManager (org.jivesoftware.smackx.jingleold.nat.JingleTransportManager)1 TransportNegotiator (org.jivesoftware.smackx.jingleold.nat.TransportNegotiator)1 TransportResolver (org.jivesoftware.smackx.jingleold.nat.TransportResolver)1 Jingle (org.jivesoftware.smackx.jingleold.packet.Jingle)1 JingleContent (org.jivesoftware.smackx.jingleold.packet.JingleContent)1 JinglePayloadType (org.jivesoftware.smackx.jingleold.packet.JingleContentDescription.JinglePayloadType)1 JingleDescription (org.jivesoftware.smackx.jingleold.packet.JingleDescription)1 JingleTransport (org.jivesoftware.smackx.jingleold.packet.JingleTransport)1 XmlPullParserException (org.xmlpull.v1.XmlPullParserException)1