Class AudioMediaSession

java.lang.Object
org.jivesoftware.smackx.jingleold.media.JingleMediaSession
org.jivesoftware.smackx.jingleold.mediaimpl.jspeex.AudioMediaSession
All Implemented Interfaces:
mil.jfcom.cie.media.session.MediaSessionListener

public class AudioMediaSession extends JingleMediaSession implements mil.jfcom.cie.media.session.MediaSessionListener
This Class implements a complete JingleMediaSession. It should be used to transmit and receive audio captured from the Mic. This Class should be automatically controlled by JingleSession. But you could also use in any VOIP application. For better NAT Traversal support this implementation don't support only receive or only transmit. To receive you MUST transmit. So the only implemented and functionally methods are startTransmit() and stopTransmit()
  • Constructor Details

    • AudioMediaSession

      public AudioMediaSession(PayloadType payloadType, TransportCandidate remote, TransportCandidate local, String locator, JingleSession jingleSession)
      Creates a org.jivesoftware.jingleaudio.jspeex.AudioMediaSession with defined payload type, remote and local candidates.
      Parameters:
      payloadType - Payload of the jmf
      remote - the remote information. The candidate that the jmf will be sent to.
      local - the local information. The candidate that will receive the jmf
      locator - media locator
      jingleSession - the jingle session.
  • Method Details

    • createSession

      public static mil.jfcom.cie.media.session.MediaSession createSession(String localhost, int localPort, String remoteHost, int remotePort, mil.jfcom.cie.media.session.MediaSessionListener eventHandler, int quality, boolean secure, boolean micOn) throws javax.media.NoProcessorException, javax.media.format.UnsupportedFormatException, IOException, GeneralSecurityException
      Create a Session using Speex Codec.
      Parameters:
      localhost - localHost
      localPort - localPort
      remoteHost - remoteHost
      remotePort - remotePort
      eventHandler - eventHandler
      quality - quality
      secure - secure
      micOn - micOn
      Returns:
      MediaSession TODO javadoc me please
      Throws:
      javax.media.NoProcessorException - if there is no media processor.
      javax.media.format.UnsupportedFormatException - if the format is not supported.
      IOException - if an I/O error occurred.
      GeneralSecurityException - if there was a general security exception.
    • initialize

      public void initialize()
      Initialize the Audio Channel to make it able to send and receive audio.
      Specified by:
      initialize in class JingleMediaSession
    • startTrasmit

      @Deprecated public void startTrasmit()
      Deprecated.
      use startTransmit() instead.
      Starts transmission and for NAT Traversal reasons start receiving also.
    • startTransmit

      public void startTransmit()
      Starts transmission and for NAT Traversal reasons start receiving also.
      Specified by:
      startTransmit in class JingleMediaSession
    • setTrasmit

      @Deprecated public void setTrasmit(boolean active)
      Deprecated.
      Set transmit activity. If the active is true, the instance should transmit. If it is set to false, the instance should pause transmit.
      Parameters:
      active - active state
    • setTransmit

      public void setTransmit(boolean active)
      Set transmit activity. If the active is true, the instance should transmit. If it is set to false, the instance should pause transmit.
      Specified by:
      setTransmit in class JingleMediaSession
      Parameters:
      active - active state
    • startReceive

      public void startReceive()
      For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
      Specified by:
      startReceive in class JingleMediaSession
    • stopTrasmit

      @Deprecated public void stopTrasmit()
      Deprecated.
      use stopTransmit() instead.
      Stops transmission and for NAT Traversal reasons stop receiving also.
    • stopTransmit

      public void stopTransmit()
      Stops transmission and for NAT Traversal reasons stop receiving also.
      Specified by:
      stopTransmit in class JingleMediaSession
    • stopReceive

      public void stopReceive()
      For NAT Reasons this method does nothing. Use startTransmit() to start transmit and receive jmf
      Specified by:
      stopReceive in class JingleMediaSession
    • newStreamIdentified

      public void newStreamIdentified(mil.jfcom.cie.media.session.StreamPlayer streamPlayer)
      Specified by:
      newStreamIdentified in interface mil.jfcom.cie.media.session.MediaSessionListener
    • senderReportReceived

      public void senderReportReceived(javax.media.rtp.rtcp.SenderReport report)
      Specified by:
      senderReportReceived in interface mil.jfcom.cie.media.session.MediaSessionListener
    • streamClosed

      public void streamClosed(mil.jfcom.cie.media.session.StreamPlayer stream, boolean timeout)
      Specified by:
      streamClosed in interface mil.jfcom.cie.media.session.MediaSessionListener
    • getFreePort

      protected int getFreePort()
      Obtain a free port we can use.
      Returns:
      A free port number.