Package javax.media.rtp

Examples of javax.media.rtp.SessionAddress


    protected boolean initialize() {

        try {
      InetAddress ipAddr;
      SessionAddress localAddr = new SessionAddress();
      SessionAddress destAddr;

      mgrs = new RTPManager[sessions.length];
      playerWindows = new Vector();

      SessionLabel session;

      // Open the RTP sessions.
      for (int i = 0; i < sessions.length; i++) {

     // Parse the session addresses.
    try {
        session = new SessionLabel(sessions[i]);
    } catch (IllegalArgumentException e) {
        System.err.println("Failed to parse the session address given: " + sessions[i]);
        return false;
    }

    System.err.println("  - Open RTP session for: addr: " + session.addr + " port: " + session.port + " ttl: " + session.ttl);

    mgrs[i] = (RTPManager) RTPManager.newInstance();
    mgrs[i].addSessionListener(this);
    mgrs[i].addReceiveStreamListener(this);

    ipAddr = InetAddress.getByName(session.addr);

    if( ipAddr.isMulticastAddress()) {
        // local and remote address pairs are identical:
        localAddr= new SessionAddress( ipAddr,
               session.port,
               session.ttl);
        destAddr = new SessionAddress( ipAddr,
               session.port,
               session.ttl);
    } else {
        localAddr= new SessionAddress( InetAddress.getLocalHost(),
                       session.port);
                    destAddr = new SessionAddress( ipAddr, session.port);
    }
     
    mgrs[i].initialize( localAddr);

    // You can try out some other buffer size to see
View Full Code Here


  PushBufferDataSource pbds = (PushBufferDataSource)dataOutput;
  PushBufferStream pbss[] = pbds.getStreams();

  rtpMgrs = new RTPManager[pbss.length];
  localPorts = new int[ pbss.length];
  SessionAddress localAddr, destAddr;
  InetAddress ipAddr;
  SendStream sendStream;
  int port;
  SourceDescription srcDesList[];

  for (int i = 0; i < pbss.length; i++) {
  // for (int i = 0; i < 1; i++) {
      try {
    rtpMgrs[i] = RTPManager.newInstance();     

    port = local_data_port + 2*i;

    localPorts[ i]= port;
   
    localAddr = new SessionAddress( InetAddress.getLocalHost(),
            port);

    rtpMgrs[i].initialize( localAddr);   
    rtpMgrs[i].addReceiveStreamListener(this);
    rtpMgrs[i].addRemoteListener(this);
View Full Code Here

  }
    }

    public void addTarget( int localPort, RTPManager mgr, String ip, int port) {
  try {
      SessionAddress addr= new SessionAddress( InetAddress.getByName( ip),
                        new Integer( port).intValue());
     
      mgr.addTarget( addr);
     
      tx.addTargetToList( localPort + "", ip, port + "");
View Full Code Here

  }
    }
   
    public void removeTarget( String ip, String port) {
  try
      SessionAddress addr= new SessionAddress( InetAddress.getByName( ip),
                        new Integer( port).intValue());

      for (int i= 0; i < rtpMgrs.length; i++) {
          rtpMgrs[ i].removeTarget( addr, "target removed from transmitter.");
      }
View Full Code Here

   
    rtpManager = RTPManager.newInstance();
    RTPBonusFormatsMgr.addBonusFormats(rtpManager);
    rtpManager.addReceiveStreamListener(new MyReceiveStreamListener());

      final SessionAddress localSessionAddress = new SessionAddress(InetAddress.getLocalHost(), port);
      final SessionAddress remoteSessionAddress = new SessionAddress(InetAddress.getByName(addr), port);
   
      try
    {
      rtpManager.initialize(localSessionAddress);
      rtpManager.addTarget(remoteSessionAddress);
View Full Code Here

    }
   
    try
    {
      rtpManager = RTPManager.newInstance();
      rtpManager.initialize(new SessionAddress());
      RTPBonusFormatsMgr.addBonusFormats(rtpManager);

     
      int numStreams = source.getStreams().length;
      streams = new SendStream[numStreams];
      int numStreamsInUse = 0;
      for (int streamIndex = 0; streamIndex < numStreams; ++streamIndex)
      {
        // find the type:
        final Format format = source.getStreams()[streamIndex].getFormat();
        final String elementType;
        if (format instanceof AudioFormat)
          elementType = ParsedRTPUrlElement.AUDIO;
        else if (format instanceof VideoFormat)
          elementType = ParsedRTPUrlElement.VIDEO;
        else
        logger.warning("Skipping unknown source stream format: " + format);
          continue;
        }
        final ParsedRTPUrlElement element = parsedRTPUrl.find(elementType);
       
        if (element == null)
        {
          logger.fine("Skipping source stream format not specified in URL: " + format);
          continue;
        }
       
        // example URL: "rtp://192.168.1.4:8000/audio/16";
        String host = element.host; // e.g. "192.168.1.4";
        final InetAddress dataAddress = InetAddress.getByName(host);
        final int dataPort = element.port; // e.g. 8000;
        final int ttl = element.ttl; // e.g. 16;
       
        SessionAddress remoteAddress = new SessionAddress(dataAddress, dataPort, ttl);
        rtpManager.addTarget(remoteAddress);
       
        streams[streamIndex] = rtpManager.createSendStream(source, streamIndex);
        ++numStreamsInUse;
      }
View Full Code Here

public class SessionAddressTest extends TestCase
{
  public void testSessionAddress() throws Exception
  {
    {
      SessionAddress a = new SessionAddress();
      assertEquals(a.getControlAddress(), null);
      try
      {
        a.getControlHostAddress();
        assertTrue(false);
      }
      catch (NullPointerException e)
      {
      }
      assertEquals(a.getControlPort(), -1);
      assertEquals(a.getDataAddress(), null);
      try
      {
        a.getDataHostAddress();
        assertTrue(false);
      }
      catch (NullPointerException e)
      {
      }
      assertEquals(a.getDataPort(), -1);
      assertEquals(a.getTimeToLive(), 0);
      assertEquals(a.toString(), "DataAddress: null\nControlAddress: null\nDataPort: -1\nControlPort: -1");
     
      try
      {
        a.equals(new SessionAddress());
        assertTrue(false);
      }
      catch (NullPointerException e)
      {
      }
     
     
    }
   
    {
      InetAddress ia = InetAddress.getLocalHost();
      SessionAddress a = new SessionAddress(ia, 1234);
      assertTrue(a.getControlAddress() == ia);
      assertEquals(a.getControlHostAddress(), ia.getHostAddress());

      assertEquals(a.getControlPort(), 1235);
      assertTrue(a.getDataAddress() == ia);
      assertEquals(a.getDataHostAddress(), ia.getHostAddress());
   
      assertEquals(a.getDataPort(), 1234);
      assertEquals(a.getTimeToLive(), 0);
      assertEquals(a.toString(), "DataAddress: " + ia.toString() + "\nControlAddress: " + ia.toString() + "\nDataPort: 1234\nControlPort: 1235");

      SessionAddress a2 = new SessionAddress(ia, 1234);
      assertEquals(a, a2);
     
      assertTrue(InetAddress.getLocalHost() != ia);
      SessionAddress a3 = new SessionAddress(InetAddress.getLocalHost(), 1234);
      assertEquals(a, a3);
     
      SessionAddress a4 = new SessionAddress(ia, 1235);
      assertFalse(a.equals(a4));
    }
   
    {
      InetAddress ia = InetAddress.getLocalHost();
      SessionAddress a = new SessionAddress(ia, 1234, 100);
      assertTrue(a.getControlAddress() == ia);
      assertEquals(a.getControlHostAddress(), ia.getHostAddress());

      assertEquals(a.getControlPort(), 1235);
      assertTrue(a.getDataAddress() == ia);
      assertEquals(a.getDataHostAddress(), ia.getHostAddress());
   
      assertEquals(a.getDataPort(), 1234);
      assertEquals(a.getTimeToLive(), 100);
      assertEquals(a.toString(), "DataAddress: " + ia.toString() + "\nControlAddress: " + ia.toString() + "\nDataPort: 1234\nControlPort: 1235");
     
      SessionAddress a3 = new SessionAddress(InetAddress.getLocalHost(), 1234, 100);
      assertEquals(a, a3);

      SessionAddress a4 = new SessionAddress(InetAddress.getLocalHost(), 1234, 101);
      assertEquals(a, a4);
     
    }
   
    {
      InetAddress ia = InetAddress.getLocalHost();
      InetAddress ia2 = InetAddress.getByName("www.google.com");
      SessionAddress a = new SessionAddress(ia, 1234, ia2, 9999);
      assertTrue(a.getControlAddress() == ia2);
      assertEquals(a.getControlHostAddress(), ia2.getHostAddress());

      assertEquals(a.getControlPort(), 9999);
      assertTrue(a.getDataAddress() == ia);
      assertEquals(a.getDataHostAddress(), ia.getHostAddress());
   
      assertEquals(a.getDataPort(), 1234);
      assertEquals(a.getTimeToLive(), 0);
      assertEquals(a.toString(), "DataAddress: " + ia.toString() + "\nControlAddress: " + ia2.toString() + "\nDataPort: 1234\nControlPort: 9999");

    }
  }
View Full Code Here

    // Cheated.  Should have checked the type.
    PushBufferDataSource pbds = (PushBufferDataSource)dataOutput;
    PushBufferStream pbss[] = pbds.getStreams();

    rtpMgrs = new RTPManager[pbss.length];
    SessionAddress localAddr, destAddr;
    InetAddress ipAddr;
    SendStream sendStream;
    int port;
    SourceDescription srcDesList[];

    for (int i = 0; i < pbss.length; i++) {
        try {
      rtpMgrs[i] = RTPManager.newInstance();     
     
      port = portBase + 2*i;
      ipAddr = InetAddress.getByName(ipAddress);
     
     
      System.out.println("createTransmitter  localAddress: " + InetAddress.getLocalHost() + "=" + sourcePort);

      localAddr = new SessionAddress( InetAddress.getLocalHost(),sourcePort);
     
      System.out.println("createTransmitter  destAddress: " + ipAddress + "=" + port);

      destAddr = new SessionAddress( ipAddr, port);

      rtpMgrs[i].initialize( localAddr);
     
      rtpMgrs[i].addTarget( destAddr);
     
View Full Code Here

    //set the RTP Manager's local session address
    try
      {
      rtpManager.addReceiveStreamListener(this);
      rtpManager.addSessionListener(this);
      rtpManager.initialize(new SessionAddress(InetAddress.getLocalHost(),64656));
      }
    catch (Exception e)
      {
      throw new RuntimeException(e);
      }
View Full Code Here

            return;
            }
         
          try
            {
            rtpManager.addTarget(new SessionAddress(addr,info.port));
            }
          catch (IOException e)
            {
            MessageDialog.openError(new Shell(),"I/O Exception", "An I/O Exception occured while trying to connect the audio");
            e.printStackTrace(System.err);
            return;
            }
          catch (InvalidSessionAddressException e)
            {
            MessageDialog.openError(new Shell(),"Invalid Session ADdress", "The session address specified is invalid");
            e.printStackTrace(System.err);
            return;
            }
          AudioTransmit at = new AudioTransmit(cdi.getLocator(),addr.getHostAddress(),Integer.toString(info.port));
         
          // Start the transmission
          String result = at.start();

          // result will be non-null if there was an error. The return
          // value is a String describing the possible error. Print it.
          if (result != null)
            {
            MessageDialog.openError(new Shell(),"Error Starting Audio Stream","Error: " + result);
            return;
            }
         
          out.put(info,at);
          updateOutList();
          }
        });
   
    Button removeOutbound = new Button(outGroupButtons,SWT.PUSH);
    removeOutbound.setText("Remove target...");
    removeOutbound.setImage(AbstractUIPlugin.imageDescriptorFromPlugin("XCDEVoice","icons/removeaudio.png").createImage());
    removeOutbound.addListener(SWT.Selection, new Listener()
        {
        public void handleEvent(Event event)
          {
          int selIndex = outbound.getSelectionIndex();
          if (selIndex == -1)
            return;
          String item = outbound.getItem(selIndex);
          String[] parts = item.split(":");
          ServerInfo toRemove = new ServerInfo(parts[0],Integer.parseInt(parts[1]));
          AudioTransmit at = (AudioTransmit)out.get(toRemove);
          if (at == null)
            return;
          at.stop();
          try
            {
            rtpManager.removeTarget(new SessionAddress(InetAddress.getByName(parts[0]),Integer.parseInt(parts[1])), "disconnecting");
            }
          catch (Exception e)
            {
            throw new RuntimeException(e);
            }
View Full Code Here

TOP

Related Classes of javax.media.rtp.SessionAddress

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.