Monitoring local transmitted audio

I use JMF RTP API Manager to send and receive audio streams. I'm using AVTransmit2.java. I worked for the code and When i want to transmit to another machine. Unfortunately on my local computer didn't play the audio, it's not like JM Studio that has monitor audio when audio transmitted. So, what can I do to add this audio mointoring for my transmitted audio file. What must I do? Make antoher player from cloneable datasource, or worked with processor that was on.
Edited by: 831279 on Apr 1, 2011 1:06 AM

831279 wrote:
What must I do? Make antoher player from cloneable datasource, or worked with processor that was on.You can do the clone/player thing (play the clone, btw, not the original datasource)...
Or you can get the MonitorControl from the processor and use that.
Or you could add yourself as a target for the RTP stream and then run an instance of AVReceive2 to play the stream...

Similar Messages

  • Digital audio input via mini jack/toslink from ADA, monitored via USB audio output... is this do-able? I know digital audio input should be okay but how do I monitor it, apart from using the internal speakers?

    Digital audio input via mini jack/toslink from ADA converter, monitored via USB audio output to amplifier... is this do-able? I know digital audio input should be okay but how do I monitor it, apart from using the internal speakers?

    You can output audio thru HDMI, with appropriate adapter.
    You can use additional cheap external usb audio for monitoring.

  • How can I monitor line in audio on iMac?

    How can I monitor line in audio on iMac?

    Depends on what you are doing with it. Recording applications usually have some way of monitoring what is being recorded.
    What app are you using?

  • Transmitted audio TC on FCP audio track - how to read the TC

    Recorded transmitted audio time code on FCP audio channel. How can I convert this audio to Time Code so I can sync up the audio material to the video? Please advise, Thanks, Diego
    Powerbook G4   Mac OS X (10.3.9)  

    Just to add to what Jim said, you might have some luck with renting one of these...
    http://www.rule.com/productDesc.cfm?productID=312#
    or similar to lay you clips out to a tape machine that will take external time code.
    Depends on what gear you have in-house.
    Tom

  • Transmitting audio and video using JMStudio

    1. Can any one give me the procedure to send audio and video from one system to another using JMStudio .. I am getting an exception like : "Unable to create Session Manager" .. (Note : I used the same Port address on both the systems)
    2. Also in one of the programs for RTP transmission i came across a statement like :
    URL l="rtp://123.12.123.1:5000/audio/1
    123.12.123.1 denotes IP Address to which the data is to be sent..
    5000 is the Port address..
    What does the part "audio/1" mean..
    Thanks in advance..

    Then one more doubt.. Cant we merge the audio and video and then send the merged media through RTP.. Yes! using 'Manager.createMergingDataSource(DataSource[])'
    If we can send then what is that I must use in place of '{color:#ff6600}audio{color}' in
    URL l=rtp://123.12.123.1:15000/audioI am sorry, I don't know...... actually I have never send Audio/Video using rtp-urls, rather I have always used RTPManager. But, yes on the receiver side these rtp urls come in handy and you just have to createPlayer using these rtp MediaLoactors, all locators which I gave in previous reply work for receiver. Perhaps, rtp urls are meant for receiving only, not for transmitting and that makes sense.
    For transmitting I think following code (which is severly stripped down version of AVTransmit2 and written hastily) can help you get started:
    import java.awt.BorderLayout;
    import java.net.InetAddress;
    import javax.media.*;
    import javax.media.control.MonitorControl;
    import javax.media.format.VideoFormat;
    import javax.media.protocol.ContentDescriptor;
    import javax.media.rtp.*;
    import javax.swing.*;
    * @author talha
    public class RTPexp extends JFrame {
        Processor p = null;
        RTPManager manager;
        JPanel jp1, jp2, jp3;
        JButton jb1, jb2;
        public RTPexp() {
            setSize(300,400);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            try {
                jp1 = new JPanel(new BorderLayout());
                jp2 = new JPanel(new BorderLayout());
                jp3 = new JPanel(new BorderLayout());
                this.setContentPane(jp1);
                jb1 = new JButton("Start");
                jb2 = new JButton("Stop");
                jb1.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        jb1ActionPerformed();
                jb2.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent evt) {
                        jb2ActionPerformed();
                jp2.add(jb1, BorderLayout.WEST);
                jp2.add(jb2, BorderLayout.EAST);
                jp1.add(jp2, BorderLayout.SOUTH);
                jp1.add(jp3, BorderLayout.CENTER);
                p = Manager.createProcessor(new MediaLocator("vfw://0"));   // video capture device locator
                p.configure();
                Thread.sleep(2000);
                p.setContentDescriptor(new ContentDescriptor(ContentDescriptor.RAW_RTP));
                p.getTrackControls()[0].setFormat(new VideoFormat(VideoFormat.JPEG_RTP)); //transmitting in Jpeg/rtp, there can be errors here....
                p.realize();
                Thread.sleep(2000);
                manager = RTPManager.newInstance();
                manager.initialize(new SessionAddress(InetAddress.getLocalHost(), SessionAddress.ANY_PORT)); // initializing rtp manager, ANY_PORT allows receiving on the same system
                manager.addTarget(new SessionAddress(InetAddress.getByName("192.168.1.3"), 3000)); // the receivers address and port
                validate();
            } catch (Exception ex) {
                ex.printStackTrace();
        private void jb1ActionPerformed() {
            try {
                p.start();
                SendStream s = manager.createSendStream(p.getDataOutput(), 0);
                s.start();
                MonitorControl mc = (MonitorControl) p.getControl("javax.media.control.MonitorControl");
                Control controls[] = p.getControls();
                boolean flag = false;           // the next statements to search the right monitor control, which happens to be the 2nd one....
                for (int i = 0; i < controls.length; i++) {
                    if (controls[i] instanceof MonitorControl) {
                        if (flag) {
                            mc = (MonitorControl) controls;
    mc.setEnabled(true);
    if (mc.getControlComponent() != null) {
    jp3.add("Center", mc.getControlComponent());
    } else {
    flag = true;
    if (p.getControlPanelComponent() != null) {
    jp3.add(p.getControlPanelComponent(), BorderLayout.SOUTH);
    validate();
    } catch (Exception ex) {
    ex.printStackTrace();
    private void jb2ActionPerformed() {
    p.stop();
    p.close();
    jp3.removeAll();
    jp3.validate();
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new
    Runnable() {
    public void run() {
    new RTPexp().setVisible(true);
    Thanks!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Transmitting audio stream by RTP

    Hello:
    I am trying to transmit audio stream with this code, but i dont get it work well.
    The output is:
    C:\RUN\EX14>java AVTransmit2 file:/c:/run/format/au/drip.au 1.1.9.147 45200
    Track 0 is set to transmit as:
    ULAW/rtp, 8000.0 Hz, 8-bit, Mono, FrameSize=8 bits
    Created RTP session: 1.1.9.147 45200
    Start transmission for 60 seconds...
    Code to AVTransmit2.java:
    * Use the RTPManager API to create sessions for each media track of the processor.
    private String createTransmitter() {
         // 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();     
    // The local session address will be created on the
    // same port as the the target port. This is necessary
    // if you use AVTransmit2 in conjunction with JMStudio.
    // JMStudio assumes - in a unicast session - that the
    // transmitter transmits from the same port it is receiving
    // on and sends RTCP Receiver Reports back to this port of
    // the transmitting host.
              port = portBase + 2*i;
              ipAddr = InetAddress.getByName(ipAddress);
              localAddr = new SessionAddress();
    //*          InetAddress.getLocalHost(),
    //*                                   port);
              destAddr = new SessionAddress( ipAddr,
                                  port);
              rtpMgrs.initialize( localAddr);
              rtpMgrs[i].addTarget( destAddr);
              System.err.println( "Created RTP session: " + ipAddress + " " + port);
              sendStream = rtpMgrs[i].createSendStream(dataOutput, i);          
              sendStream.start();
         } catch (Exception e) {
              return e.getMessage();
         return null;
    The code receptor is working well, because I tried it with JMStudio.
    Why it doesnt transmit ?
    I need your greatly help.
    Thanks.

    What is different from your previous question ?

  • About transmitting audio by RTP

    Hi, there,
    I want to create a simple application that transfers audio online through RTP. both the sender machine and receiver machine have public ip address. I tried JMStudio and AVTransmit2/AVReceiver2 without success till now! it drives me crazy. I really don't know what's wrong here. is there anyone really make it work?
    even I can see the receiver machine keep receiving data through the port I specify to transfer data(the port is 22224), the JMStudio or AVReceiver2 on receiver machine just waiting for data, also I can see the statistic of JMStudio on sender machine reports transfer successful and the data keeping transferred. I also tried to use broadcast way, that is, changing the last part of sender's ip address to 255, still no luck! the receiver can't receive any data!
    since I use Ubuntu, there is no firewall, no port is blocked. I can access from receiver to sender or vice versa using SSH. I don't think there is any connection problem, also I can see the receiver keeping receive data.
    I transfer a mp3 file through RTP session. I installed mp3 plugin on both receiver machine and sender machine. I can play it using JMStudio on both receiver machine and sender machine locally.
    could anyone kindly let me know how I should do, or if there is any very very simple java program to transfer anything using RTP on internet? could you please tell me your configuration if you happen to make it work?
    any hint will great appreciate!
    Sam

    if you have a microphone in your pc, AVTranmit2 and AVReceive2 command should be:
    on your own pc:
    java AVTransmit2 dsound:// targetIP 42050
    on target pc:
    java AVReceive2 yourIP/42050
    since the same port cannot be used simutaneously by two applications(avreceive2 and avtransmit2), the above command can only be used on two different pcs (your pc and target pc).
    if you wanna execute AVReceive2 and AVTransmit2 on the same pc, you have to modify the source codes. I have done that.
    commond
    java AVTransmit2 dsound:// yourip 42050 42100
    java AVReceive2 yourip/42050 yourip/42100
    the modified source files are as follows:
    /*****************AVReceive2.java**********************************/
    * @(#)AVReceive2.java     1.3 01/03/13
    * Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
    * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
    * modify and redistribute this software in source and binary code form,
    * provided that i) this copyright notice and license appear on all copies of
    * the software; and ii) Licensee does not utilize the software in a manner
    * which is disparaging to Sun.
    * This software is provided "AS IS," without a warranty of any kind. ALL
    * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
    * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
    * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
    * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
    * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
    * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
    * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
    * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
    * POSSIBILITY OF SUCH DAMAGES.
    * This software is not designed or intended for use in on-line control of
    * aircraft, air traffic, aircraft navigation or aircraft communications; or in
    * the design, construction, operation or maintenance of any nuclear
    * facility. Licensee represents and warrants that it will not use or
    * redistribute the Software for such purposes.
    import java.io.*;
    import java.awt.*;
    import java.net.*;
    import java.awt.event.*;
    import java.util.Vector;
    import javax.media.*;
    import javax.media.rtp.*;
    import javax.media.rtp.event.*;
    import javax.media.rtp.rtcp.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.format.AudioFormat;
    import javax.media.format.VideoFormat;
    import javax.media.Format;
    import javax.media.format.FormatChangeEvent;
    import javax.media.control.BufferControl;
    * AVReceive2 to receive RTP transmission using the new RTP API.
    public class AVReceive2 implements ReceiveStreamListener, SessionListener,
         ControllerListener
    String sessions[] = null;
    RTPManager mgrs[] = null;
    Vector playerWindows = null;
    boolean dataReceived = false;
    Object dataSync = new Object();
    public AVReceive2(String sessions[]) {
         this.sessions = sessions;
    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);
              } 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(),
                        42100+2*i);
                             //session.port);
    destAddr = new SessionAddress( ipAddr,
              42050+2*i);
              //session.port);
              mgrs[i].initialize( localAddr);
              // You can try out some other buffer size to see
              // if you can get better smoothness.
              BufferControl bc = (BufferControl)mgrs[i].getControl("javax.media.control.BufferControl");
              if (bc != null)
              bc.setBufferLength(350);
              mgrs[i].addTarget(destAddr);
    } catch (Exception e){
    System.err.println("Cannot create the RTP Session: " + e.getMessage());
    return false;
         // Wait for data to arrive before moving on.
         long then = System.currentTimeMillis();
         long waitingPeriod = 30000; // wait for a maximum of 30 secs.
         try{
         synchronized (dataSync) {
              while (!dataReceived &&
                   System.currentTimeMillis() - then < waitingPeriod) {
              if (!dataReceived)
                   System.err.println(" - Waiting for RTP data to arrive...");
              dataSync.wait(1000);
         } catch (Exception e) {}
         if (!dataReceived) {
         System.err.println("No RTP data was received.");
         close();
         return false;
    return true;
    public boolean isDone() {
         return playerWindows.size() == 0;
    * Close the players and the session managers.
    protected void close() {
         for (int i = 0; i < playerWindows.size(); i++) {
         try {
              ((PlayerWindow)playerWindows.elementAt(i)).close();
         } catch (Exception e) {}
         playerWindows.removeAllElements();
         // close the RTP session.
         for (int i = 0; i < mgrs.length; i++) {
         if (mgrs[i] != null) {
    mgrs[i].removeTargets( "Closing session from AVReceive2");
    mgrs[i].dispose();
              mgrs[i] = null;
    PlayerWindow find(Player p) {
         for (int i = 0; i < playerWindows.size(); i++) {
         PlayerWindow pw = (PlayerWindow)playerWindows.elementAt(i);
         if (pw.player == p)
              return pw;
         return null;
    PlayerWindow find(ReceiveStream strm) {
         for (int i = 0; i < playerWindows.size(); i++) {
         PlayerWindow pw = (PlayerWindow)playerWindows.elementAt(i);
         if (pw.stream == strm)
              return pw;
         return null;
    * SessionListener.
    public synchronized void update(SessionEvent evt) {
         if (evt instanceof NewParticipantEvent) {
         Participant p = ((NewParticipantEvent)evt).getParticipant();
         System.err.println(" - A new participant had just joined: " + p.getCNAME());
    * ReceiveStreamListener
    public synchronized void update( ReceiveStreamEvent evt) {
         RTPManager mgr = (RTPManager)evt.getSource();
         Participant participant = evt.getParticipant();     // could be null.
         ReceiveStream stream = evt.getReceiveStream(); // could be null.
         if (evt instanceof RemotePayloadChangeEvent) {
         System.err.println(" - Received an RTP PayloadChangeEvent.");
         System.err.println("Sorry, cannot handle payload change.");
         System.exit(0);
         else if (evt instanceof NewReceiveStreamEvent) {
         try {
              stream = ((NewReceiveStreamEvent)evt).getReceiveStream();
              DataSource ds = stream.getDataSource();
              // Find out the formats.
              RTPControl ctl = (RTPControl)ds.getControl("javax.media.rtp.RTPControl");
              if (ctl != null){
              System.err.println(" - Recevied new RTP stream: " + ctl.getFormat());
              } else
              System.err.println(" - Recevied new RTP stream");
              if (participant == null)
              System.err.println(" The sender of this stream had yet to be identified.");
              else {
              System.err.println(" The stream comes from: " + participant.getCNAME());
              // create a player by passing datasource to the Media Manager
              Player p = javax.media.Manager.createPlayer(ds);
              if (p == null)
              return;
              p.addControllerListener(this);
              p.realize();
              PlayerWindow pw = new PlayerWindow(p, stream);
              playerWindows.addElement(pw);
              // Notify intialize() that a new stream had arrived.
              synchronized (dataSync) {
              dataReceived = true;
              dataSync.notifyAll();
         } catch (Exception e) {
              System.err.println("NewReceiveStreamEvent exception " + e.getMessage());
              return;
         else if (evt instanceof StreamMappedEvent) {
         if (stream != null && stream.getDataSource() != null) {
              DataSource ds = stream.getDataSource();
              // Find out the formats.
              RTPControl ctl = (RTPControl)ds.getControl("javax.media.rtp.RTPControl");
              System.err.println(" - The previously unidentified stream ");
              if (ctl != null)
              System.err.println(" " + ctl.getFormat());
              System.err.println(" had now been identified as sent by: " + participant.getCNAME());
         else if (evt instanceof ByeEvent) {
         System.err.println(" - Got \"bye\" from: " + participant.getCNAME());
         PlayerWindow pw = find(stream);
         if (pw != null) {
              pw.close();
              playerWindows.removeElement(pw);
    * ControllerListener for the Players.
    public synchronized void controllerUpdate(ControllerEvent ce) {
         Player p = (Player)ce.getSourceController();
         if (p == null)
         return;
         // Get this when the internal players are realized.
         if (ce instanceof RealizeCompleteEvent) {
         PlayerWindow pw = find(p);
         if (pw == null) {
              // Some strange happened.
              System.err.println("Internal error!");
              System.exit(-1);
         pw.initialize();
         pw.setVisible(true);
         p.start();
         if (ce instanceof ControllerErrorEvent) {
         p.removeControllerListener(this);
         PlayerWindow pw = find(p);
         if (pw != null) {
              pw.close();     
              playerWindows.removeElement(pw);
         System.err.println("AVReceive2 internal error: " + ce);
    * A utility class to parse the session addresses.
    class SessionLabel {
         public String addr = null;
         public int port;
         public int ttl = 1;
         SessionLabel(String session) throws IllegalArgumentException {
         int off;
         String portStr = null, ttlStr = null;
         if (session != null && session.length() > 0) {
              while (session.length() > 1 && session.charAt(0) == '/')
              session = session.substring(1);
              // Now see if there's a addr specified.
              off = session.indexOf('/');
              if (off == -1) {
              if (!session.equals(""))
                   addr = session;
              } else {
              addr = session.substring(0, off);
              session = session.substring(off + 1);
              // Now see if there's a port specified
              off = session.indexOf('/');
              if (off == -1) {
                   if (!session.equals(""))
                   portStr = session;
              } else {
                   portStr = session.substring(0, off);
                   session = session.substring(off + 1);
                   // Now see if there's a ttl specified
                   off = session.indexOf('/');
                   if (off == -1) {
                   if (!session.equals(""))
                        ttlStr = session;
                   } else {
                   ttlStr = session.substring(0, off);
         if (addr == null)
              throw new IllegalArgumentException();
         if (portStr != null) {
              try {
              Integer integer = Integer.valueOf(portStr);
              if (integer != null)
                   port = integer.intValue();
              } catch (Throwable t) {
              throw new IllegalArgumentException();
         } else
              throw new IllegalArgumentException();
         if (ttlStr != null) {
              try {
              Integer integer = Integer.valueOf(ttlStr);
              if (integer != null)
                   ttl = integer.intValue();
              } catch (Throwable t) {
              throw new IllegalArgumentException();
    * GUI classes for the Player.
    class PlayerWindow extends Frame {
         Player player;
         ReceiveStream stream;
         PlayerWindow(Player p, ReceiveStream strm) {
         player = p;
         stream = strm;
         public void initialize() {
         add(new PlayerPanel(player));
         public void close() {
         player.close();
         setVisible(false);
         dispose();
         public void addNotify() {
         super.addNotify();
         pack();
    * GUI classes for the Player.
    class PlayerPanel extends Panel {
         Component vc, cc;
         PlayerPanel(Player p) {
         setLayout(new BorderLayout());
         if ((vc = p.getVisualComponent()) != null)
              add("Center", vc);
         if ((cc = p.getControlPanelComponent()) != null)
              add("South", cc);
         public Dimension getPreferredSize() {
         int w = 0, h = 0;
         if (vc != null) {
              Dimension size = vc.getPreferredSize();
              w = size.width;
              h = size.height;
         if (cc != null) {
              Dimension size = cc.getPreferredSize();
              if (w == 0)
              w = size.width;
              h += size.height;
         if (w < 160)
              w = 160;
         return new Dimension(w, h);
    public static void main(String argv[]) {
         if (argv.length == 0)
         prUsage();
         AVReceive2 avReceive = new AVReceive2(argv);
         if (!avReceive.initialize()) {
         System.err.println("Failed to initialize the sessions.");
         System.exit(-1);
         // Check to see if AVReceive2 is done.
         try {
         while (!avReceive.isDone())
              Thread.sleep(1000);
         } catch (Exception e) {}
         System.err.println("Exiting AVReceive2");
    static void prUsage() {
         System.err.println("Usage: AVReceive2 <session> <session> ...");
         System.err.println(" <session>: <address>/<port>/<ttl>");
         System.exit(0);
    }// end of AVReceive2
    /****************************AVTransmit2.java****************************/
    * @(#)AVTransmit2.java     1.4 01/03/13
    * Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
    * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
    * modify and redistribute this software in source and binary code form,
    * provided that i) this copyright notice and license appear on all copies of
    * the software; and ii) Licensee does not utilize the software in a manner
    * which is disparaging to Sun.
    * This software is provided "AS IS," without a warranty of any kind. ALL
    * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
    * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
    * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
    * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
    * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
    * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
    * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
    * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
    * POSSIBILITY OF SUCH DAMAGES.
    * This software is not designed or intended for use in on-line control of
    * aircraft, air traffic, aircraft navigation or aircraft communications; or in
    * the design, construction, operation or maintenance of any nuclear
    * facility. Licensee represents and warrants that it will not use or
    * redistribute the Software for such purposes.
    import java.awt.*;
    import java.io.*;
    import java.net.InetAddress;
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.format.*;
    import javax.media.control.TrackControl;
    import javax.media.control.QualityControl;
    import javax.media.rtp.*;
    import javax.media.rtp.rtcp.*;
    import com.sun.media.rtp.*;
    public class AVTransmit2 {
    // Input MediaLocator
    // Can be a file or http or capture source
    private MediaLocator locator;
    private String ipAddress;
    // private int portBase;
         private int localPortBase;
         private int remotePortBase;
    private Processor processor = null;
    private RTPManager rtpMgrs[];
    private DataSource dataOutput = null;
    public AVTransmit2(MediaLocator locator,
                   String ipAddress,
                   String localPB,
                   String remotePB,
                   Format format) {
    Integer int1 = Integer.valueOf(remotePB);
    if(int1 != null)
         this.remotePortBase = int1.intValue();
         this.locator = locator;
         this.ipAddress = ipAddress;
         Integer int2 = Integer.valueOf(localPB);
         if (int2 != null)
         this.localPortBase = int2.intValue();
    * Starts the transmission. Returns null if transmission started ok.
    * Otherwise it returns a string with the reason why the setup failed.
    public synchronized String start() {
         String result;
         // Create a processor for the specified media locator
         // and program it to output JPEG/RTP
         result = createProcessor();
         if (result != null)
         return result;
         // Create an RTP session to transmit the output of the
         // processor to the specified IP address and port no.
         result = createTransmitter();
         if (result != null) {
         processor.close();
         processor = null;
         return result;
         // Start the transmission
         processor.start();
         return null;
    * Stops the transmission if already started
    public void stop() {
         synchronized (this) {
         if (processor != null) {
              processor.stop();
              processor.close();
              processor = null;
              for (int i = 0; i < rtpMgrs.length; i++) {
              rtpMgrs[i].removeTargets( "Session ended.");
              rtpMgrs[i].dispose();
    private String createProcessor() {
         if (locator == null)
         return "Locator is null";
         DataSource ds;
         DataSource clone;
         try {
         ds = javax.media.Manager.createDataSource(locator);
         } catch (Exception e) {
         return "Couldn't create DataSource";
         // Try to create a processor to handle the input media locator
         try {
         processor = javax.media.Manager.createProcessor(ds);
         } catch (NoProcessorException npe) {
         return "Couldn't create processor";
         } catch (IOException ioe) {
         return "IOException creating processor";
         // Wait for it to configure
         boolean result = waitForState(processor, Processor.Configured);
         if (result == false)
         return "Couldn't configure processor";
         // Get the tracks from the processor
         TrackControl [] tracks = processor.getTrackControls();
         // Do we have atleast one track?
         if (tracks == null || tracks.length < 1)
         return "Couldn't find tracks in processor";
         // Set the output content descriptor to RAW_RTP
         // This will limit the supported formats reported from
         // Track.getSupportedFormats to only valid RTP formats.
         ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW_RTP);
         processor.setContentDescriptor(cd);
         Format supported[];
         Format chosen;
         boolean atLeastOneTrack = false;
         // Program the tracks.
         for (int i = 0; i < tracks.length; i++) {
         Format format = tracks[i].getFormat();
         if (tracks[i].isEnabled()) {
              supported = tracks[i].getSupportedFormats();
              // We've set the output content to the RAW_RTP.
              // So all the supported formats should work with RTP.
              // We'll just pick the first one.
              if (supported.length > 0) {
              if (supported[0] instanceof VideoFormat) {
                   // For video formats, we should double check the
                   // sizes since not all formats work in all sizes.
                   chosen = checkForVideoSizes(tracks[i].getFormat(),
                                       supported[0]);//select the first supported format for convenice
              } else
                   chosen = supported[0];
              tracks[i].setFormat(chosen);
              System.err.println("Track " + i + " is set to transmit as:");
              System.err.println(" " + chosen);
              atLeastOneTrack = true;
              } else
              tracks[i].setEnabled(false);
         } else
              tracks[i].setEnabled(false);
         if (!atLeastOneTrack)
         return "Couldn't set any of the tracks to a valid RTP format";
         // Realize the processor. This will internally create a flow
         // graph and attempt to create an output datasource for JPEG/RTP
         // audio frames.
         result = waitForState(processor, Controller.Realized);
         if (result == false)
         return "Couldn't realize processor";
         // Set the JPEG quality to .5.
         setJPEGQuality(processor, 0.5f);//no effect if not JPEG format
         // Get the output data source of the processor
         dataOutput = processor.getDataOutput();
         return null;
    * Use the RTPManager API to create sessions for each media
    * track of the processor.
    private String createTransmitter() {
         // 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 localPort;
         int remotePort;
         SourceDescription srcDesList[];
         for (int i = 0; i < pbss.length; i++) {
         try {
              rtpMgrs[i] = RTPManager.newInstance();     
              // The local session address will be created on the
              // same port as the the target port. This is necessary
              // if you use AVTransmit2 in conjunction with JMStudio.
              // JMStudio assumes - in a unicast session - that the
              // transmitter transmits from the same port it is receiving
              // on and sends RTCP Receiver Reports back to this port of
              // the transmitting host.
              localPort = localPortBase + 2*i;
              remotePort = remotePortBase + 2*i;
              ipAddr = InetAddress.getByName(ipAddress);
              localAddr = new SessionAddress( InetAddress.getLocalHost(),
                                  localPort);
              destAddr = new SessionAddress( ipAddr, remotePort);
              rtpMgrs[i].initialize( localAddr);
              rtpMgrs[i].addTarget( destAddr);
              System.err.println( "Created RTP session ("+pbss[i].getFormat().getClass() + "):"+localAddr.getControlHostAddress()
                        +":"+localAddr.getDataPort()+"->"+destAddr.getControlHostAddress()+":"+ destAddr.getDataPort());
              sendStream = rtpMgrs[i].createSendStream(dataOutput, i);     
              sendStream.start();
         } catch (Exception e) {
              return e.getMessage();
         return null;
    * For JPEG and H263, we know that they only work for particular
    * sizes. So we'll perform extra checking here to make sure they
    * are of the right sizes.
    Format checkForVideoSizes(Format original, Format supported) {
         int width, height;
         Dimension size = ((VideoFormat)original).getSize();
         Format jpegFmt = new Format(VideoFormat.JPEG_RTP);
         Format h263Fmt = new Format(VideoFormat.H263_RTP);
         if (supported.matches(jpegFmt)) {
         // For JPEG, make sure width and height are divisible by 8.
         width = (size.width % 8 == 0 ? size.width :
                        (int)(size.width / 8) * 8);
         height = (size.height % 8 == 0 ? size.height :
                        (int)(size.height / 8) * 8);
         } else if (supported.matches(h263Fmt)) {
         // For H.263, we only support some specific sizes.
         if (size.width < 128) {
              width = 128;
              height = 96;
         } else if (size.width < 176) {
              width = 176;
              height = 144;
         } else {
              width = 352;
              height = 288;
         } else {
         // We don't know this particular format. We'll just
         // leave it alone then.
         return supported;
         return (new VideoFormat(null,
                        new Dimension(width, height),
                        Format.NOT_SPECIFIED,
                        null,
                        Format.NOT_SPECIFIED)).intersects(supported);
    * Setting the encoding quality to the specified value on the JPEG encoder.
    * 0.5 is a good default.
    void setJPEGQuality(Player p, float val) {
         Control cs[] = p.getControls();
         QualityControl qc = null;
         VideoFormat jpegFmt = new VideoFormat(VideoFormat.JPEG);
         // Loop through the controls to find the Quality control for
         // the JPEG encoder.
         for (int i = 0; i < cs.length; i++) {
         if (cs[i] instanceof QualityControl &&
              cs[i] instanceof Owned) {
              Object owner = ((Owned)cs[i]).getOwner();
              // Check to see if the owner is a Codec.
              // Then check for the output format.
              if (owner instanceof Codec) {
              Format fmts[] = ((Codec)owner).getSupportedOutputFormats(null);
              for (int j = 0; j < fmts.length; j++) {
                   if (fmts[j].matches(jpegFmt)) {
                   qc = (QualityControl)cs[i];
                   qc.setQuality(val);
                   System.err.println("- Setting quality to " +
                             val + " on " + qc);
                   break;
              if (qc != null)
              break;
    * Convenience methods to handle processor's state changes.
    private Integer stateLock = new Integer(0);
    private boolean failed = false;
    Integer getStateLock() {
         return stateLock;
    void setFailed() {
         failed = true;
    private boolean waitForState(Processor p, int state) {
         p.addControllerListener(new StateListener());
         failed = false;
         // Call the required method on the processor
         if (state == Processor.Configured) {
         p.configure();
         } else if (state == Processor.Realized) {
         p.realize();
         // Wait until we get an event that confirms the
         // success of the method, or a failure event.
         // See StateListener inner class
         while (p.getState() < state && !failed) {
         synchronized (getStateLock()) {
              try {
              getStateLock().wait();
              } catch (InterruptedException ie) {
              return false;
         if (failed)
         return false;
         else
         return true;
    * Inner Classes
    class StateListener implements ControllerListener {
         public void controllerUpdate(ControllerEvent ce) {
         // If there was an error during configure or
         // realize, the processor will be closed
         if (ce instanceof ControllerClosedEvent)
              setFailed();
         // All controller events, send a notification
         // to the waiting thread in waitForState method.
         if (ce instanceof ControllerEvent) {
              synchronized (getStateLock()) {
              getStateLock().notifyAll();
    * Sample Usage for AVTransmit2 class
    public static void main(String [] args) {
         // We need three parameters to do the transmission
         // For example,
         // java AVTransmit2 file:/C:/media/test.mov 129.130.131.132 42050
         if (args.length < 3) {
         prUsage();
         Format fmt = null;
         int i = 0;
         MediaLocator ml = new MediaLocator(args[i]);
         // Create a audio transmit object with the specified params.
         AVTransmit2 at = new AVTransmit2(ml,
                             args[i+1], args[i+2], args[i+3], fmt);
         // 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) {
         System.err.println("Error : " + result);
         System.exit(0);
         System.err.println("Start transmission for 60 seconds...");
         // Transmit for 60 seconds and then close the processor
         // This is a safeguard when using a capture data source
         // so that the capture device will be properly released
         // before quitting.
         // The right thing to do would be to have a GUI with a
         // "Stop" button that would call stop on AVTransmit2
         try {
         Thread.currentThread().sleep(60000);
         } catch (InterruptedException ie) {
         // Stop the transmission
         at.stop();
         System.err.println("...transmission ended.");
         System.exit(0);
    static void prUsage() {
         System.err.println("Usage: AVTransmit2 <sourceURL> <destIP> <destPortBase>");
         System.err.println(" <sourceURL>: input URL or file name");
         System.err.println(" <destIP>: multicast, broadcast or unicast IP address for the transmission");
         System.err.println(" <destPortBase>: network port numbers for the transmission.");
         System.err.println(" The first track will use the destPortBase.");
         System.err.println(" The next track will use destPortBase + 2 and so on.\n");
         System.exit(0);
    if you have any further problems, it's my pleasure to discuss with you.
    [email protected]

  • Can I use Optical Audio alongside a speakerless monitor to play audio through speakers?

    I have an Apple TV 3 and so far I am relatively pleased. However.. I have no sound, this just about renders my Apple TV useless. Is it possible to use the Optical Audio cable to play sound from films, music etc. while still having the Apple TV connected to the Monitor via HDMI? Do you have any suggestions as to what speakers would be good? (looking at around £50 - £100) I was thinking of getting some of the Bose Companion 2 monitor speakers and then using a DAC to play audio from the Apple TV to the speakers. Would this work? If not, does anybody have any other suggestions?
    P.S. I can't plug speakers into my monitor for some absurd, annoying reason unbeknown to society

    My ATV is connected to the tv with hdmi
    My optical is connected to my stereo
    I mute my tv and only play out of the stereo

  • Can I open a second Source Monitor for the audio track of a video?

    I really dislike having to switch to the audio waveform in the Source Monitor pane when I want to tinker with a clip's audio track. I usually try to stay away from needing to use a panes drop down menu as much as possible. Is there a way to get this in a different window?
    Using CS6

    You cant tinker with the audio track in the Source Monitor. Apart from IN and Out Point setting.
    Normally one would expand the audio track in the time line...zoom in/out to suit and maybe use the tilde shortcut  key to view it all full screen.

  • How to monitor Local IP Pools on ASA

    Is there a way to monitor the availability or usage of Local IP pools on an ASA?  Maybe an OID string that can be pulled by an NMS system.  I would like to be alerted prior to the pool being exhausted.

    As far as I know you can check this from your external authentication server so if its cisco acs acting a s radius server for your vpn clients then check under reports and activities >> logged-in user. It will show you the connected user along with the ip address they have got.
    Lists all users receiving services for a single AAA client or all AAA clients. Users accessing the network with Cisco Aironet equipment appear on the list for the access point that they are currently associated with, provided that the firmware image on the Cisco Aironet Access Point supports sending the RADIUS Service-Type attribute for rekey authentications.
    Note To use the logged-in user list feature, you must configure AAA client to perform authentication and accounting using the same protocol—either TACACS+ or RADIUS.
    The same can be checked from the ASA by running
    show vpn-session db
    http://www.cisco.com/en/US/docs/security/asa/asa72/command/reference/s7_72.html#wp1135352
    From ASDM go to Monitoring VPN >> sessions.
    Hope this helps.
    Rgds
    Jatin
    Do rate helpful posts~

  • Is there a waveform monitor for the audio track in premier elements 13?

    trying to fine tune audio,getting hits on the supplied sound tracks.
    thanks
    Dave

    Dave W
    Thanks for the last two replies with details that turned around my approach to your question. It was not until your post 3 when you mentioned Music Scores did I realize that you were referring to Music Scores developed in the concept of being able to adjust their duration without altering music arrangement. You were not referring to non-Music Score music.
    In the case of Premiere Elements Music Scores, I see no way to visualize their waveform in the Premiere Elements audio tracks. Double clicking a Timeline Music Score brings up the Score Properties dialog and not the Preview Window to inspect the waveform.
    When "non Music Score" music is imported into Premiere Elements, it goes through a conforming process which automatically generates the cfa (audio) file and pek (waveform in audio track) file. And, these files are characterized by a waveform visible on the audio track with the appropriate audio display format. For each audio conformed, there are two files generated by the program, cfa (audio) and pek (related to waveform seen in the audio track).
    When you drag a Music Score to the Premiere Elements 13 soundtrack, first you see "Generating" and "Conforming" and then Score Property dialog .When all is said and done, the Music Score is in the audio track with no waveform. If you go looking in the Media Cache Folder to determine if a cfa and pek set exist there after use of one Music Score (Drama in this example), you should find that the Drama conforming process generated 71, not 2 files, representing cfa and pek sets.
    With regard to hard drive space...1 non Music Score file's conformed audio files might be expected to take up about 68.2 MB while one Music Score file's conformed audio files might
    be expected to take up 263 MB.
    Please take a look at what you have in the way of conformed audio in the Windows 7, 8, or 8.1 64 bit path
    Local Disk C
    Users
    Owner
    AppData
    Roaming
    Adobe
    Common
    Media Cache Files Folder
    At this time I do not know the explanation for the absence of waveform in the Music Score representation on the Timeline audio track. Need to do more homework on that.
    Please let me know if you confirm my observations above.
    Thank you.
    ATR

  • ECHO...ECho.....echo.......in transmitted audio

    Hello!
    I am facing this problem:_
    1- If I capture audio (using either dsound or javasound, doesn't matter), and then transmit it in any format . Then the sound recieved at the receiver end has echo which seems very awkward.
    2- Second problem is....If I try to monitor the audio during transmission or play the captured sound on the same system then within seconds sound volume becomes very high and there is too much disturbance. So, I have to stop monitoring the audio straight away....... sound is something like this:
    keeen....keeeeeeen........cheeeeeeeeeen........cheeeeeeeeeeen.....eeeeeeeeeeeeen....eeeeeeeeennnnnnnnnnnnnn ;-)
    This sound is really unbearable......... it seems like the ear drums would burst if you don't turn it off...........
    specs:_
    1- OS: Vista Home Premium
    2- JMF: JMF2.1.1e
    3- sound captured with integrated microphone in Laptop.
    questions:_
    1- Has anybody faced the same problem???
    2- Does anybody know how to remove this echo????
    I would be very grateful if any one comes up with any reply.
    *5 Dukes* if anyone suggests a solution to remove the echo..........
    Thanks!

    2) That's called a feedback loop. The microphone is picking up the speakers and then playing what it heard from the speakers through the speakers. As the speakers get louder, the microphone picks up more of the speakers, and plays the sound back louder...until the microphone reaches saturation, and then you just have an aweful loud siren-like thing. Bad deal.
    1) In reference to the echo, are the two computers in the same room? Because if so, the microphone is picking up the speaker on the second computer, and that's what's causing the echo. It doesn't do the feedback loop because, of the distance and time delay, the sound gets progressively quieter every time it is played (as opposed to louder, in the above case)Hello captfoss! Welcome back!
    Happy to see you back..............
    I can't believe my problem was so simple............... Yes, both the computers are in the same room. I have understood the problem.
    But if you give me assurance that there would be no problem of echo if the computers are far away then all 5 dukes would be yours.
    P.S.: my second problem: [http://forums.sun.com/thread.jspa?threadID=5345682&tstart=10]
    Thanks!

  • Problem setting up Premiere CC 2014.1 to monitor 5.1 audio

    I'm working on a large project that I am trying to do a 5.1 audio mix for. The problem is that I can't get Premiere to play anything but stereo audio. This makes it impossible to monitor the audio as I try to mix in 5.1. The meters seem to indicate that the audio is being played correctly in the program but nothing I've tried will let me monitor it correctly.  I'm on Win7pro 64bit, with a Sound Blaster Z sound card. I just bought this sound card specifically for this as in the past I did a 5.1 mix ( In Cs6 i think) with a sound blaster Xfi Titanium HD card and it worked fine. This card has a creative ASIO that I select in the Audio Hardware menu but it only gives me options for L/R channels, and I can find no other way to add/map additional channels. I've also tried ASIO4all and it will also only map stereo channels.
    On a related note, this card is configured correctly, and outputs 5.1 audio perfectly in windows, and in all speaker configuration tests I have run. What can I do to configure it to work properly in Premiere?
    Jay

    So in doing more research it turns out that in a past driver update, Creative replaced the original 6 channel capable "Creative Sound Blaster ASIO" with a newer "Creative SBZ ASIO" which only supports two channels. I was able to load up old drivers prior to the change and get 5.1 to work properly in Premiere.

  • Macbook pro monitor flickers and audio interference

    Hi there,
    I've noticed some strange behavior with my macbook pro lately.  Occasionally the monitor will flicker just once really quickly. It will flicker between black and the regular screen.  Maybe it happens about twice a day.  When I'm surfing, I noticed some interference with the music that is playing in Itunes.  For example, if I click on a link in Google Chrome, the audio signal from whatever is playing in Itunes will get cut for a split second. It's almost like the processor is working too hard to manage both surfing in Chrome and the music playing in Itunes, which is ridiculous.  When I bought my computer (2008 or 2009 model), I upped the RAM to 4gb. My processor is 2.4 ghz.  I have no idea what's going on.  Is it a hard drive problem? Hope you can help.
    Thanks!

    Do you have access to an Apple Store? If so, it may be worth making an appointment at the genius bar and having them run the test for the NVIDIA problem. Since your replacement logic board still has the NVIDIA GeForce 8600 M GT video chip, it could be starting to happen to your replacement logic board.
    I also agree with all of CMCSK's suggestions. Freezing is often associated with hard drive problems. You might also want to run SMART Utility:
    http://www.apple.com/downloads/macosx/systemdiskutilities/smartutility.html
    You can download the demo and run it several times for free. It will give you a very comprehensive view of the physical health of your hard drive. If you still have the original one from 2007, it's getting pretty long in the tooth and may be approaching the end of its average useful life of 3-5 years. I just recently had to replace my original 2007 Fujitsu drive.
    If your drive is headed south, and is also too small, it may be time to upgrade to a larger and faster drive.
    The software update probably didn't cause the problems, but it may have exposed problems that were already in existence.
    Good luck!

  • Recommendation for external monitor with good audio?

    I've got a MacBook Pro, about three years old or so.  I also have a new iMac.
    I'm happy with the audio on the iMac.  Good enough that I don't need external speakers to listen to iTunes.
    I have a weekend place and when I go, I only take my MacBook Pro with me ... and I miss the 21" screen and the better audio from my iMac.
    Can anyone recommend a monitor for MacBook Pro that is just as good as the iMac, especially with regards to the sound?
    Ideally under $300.

    Any with built-in HDMI should work and 1080p.   ViewSonic, NEC, Sony, LG, and Samsung.  Viewsonic and NEC may also have color correction capabilities.    Make sure your Mac is one of the ones with built-in audio over mini-Displayport or has Thunderbolt or HDMI to connect:
    http://support.apple.com/kb/HT4241
    If it does not have audio, and is a mini-Displayport only, see this tip for alternatives:
    https://discussions.apple.com/docs/DOC-2821

Maybe you are looking for

  • How do I keep my Cox mail and MSN mail from all going into the same in box on Apple mail

    I have a Imac and Mac Book.  The Imac apple mail works great.  I also have a Mac Book.  The Apple  Mail is set up the same as the Imac.  The problem I have is that both Cox mail and MSN mail go into the same inbox on Apple Mail on the MacBook even th

  • Creation of MM Routine for Calculation of VAT

    Hello People, I am new to ABAP and currently stuckup in a situation involving the following scenario TAXINN Procedure. I have got two scenarios for VAT. 1)some vendors charge VAT on Base price+ Excise duty & then add freight. which I have mapped. 2)I

  • Can I download photoshop package, that I've bought but misplaces my cd's?

    OS crashed, and I need to reinstall everything, and my installation cd's are in a storage unit in a different country, anyway I can get everything from the Adobe site?? best

  • Error in File scenario

    I am doing File->File Scenarios. There is no Recrod set also. I want to rename the file using XI. No mapping required. To rename the File name we can do the coding related to Dynamica configuration in one UDF and will map to the top node of the targe

  • Open a particular Order in Web UI by passing parameters to URL

    Hi Friends, Previously we worked in CRM 5.0, where in the PCUI application, we passed the extra parameters to the URL as CRM_OBJECT_ID = GUID to open a particular order. For Example: https://dev1crm.ra.rockwell.com:18020/sap(bD1lbiZjPTIwMCZkPW1pbg==)