RMTP iOS, audio causes video stutter

I am currently developing a video conference app for Desktop, iOS, and Android.
I'm experiencing a problem that happens only on iOS. My app connects 2 live feeds together with rtmp. Everything works fine on the Desktop or on Android, but on iOS, whenever it recieves any audio from any of the other broadcasting clients, the video immediately pauses... and then resumes once the audio has played.  Without fail, every murmur or whisper I make, immediately the video pauses, the audio plays, and then the video resumes.
I've been working on this app for a while now, since AIR 3.2... and when initially building we did not have this problem. I believe it could be because I updated the project to a more recent version of AIR, be it 3.6, 3.7, 3.8 (sadly, we didnt notice this problem until now)
Has anyone ever expierenced anything like this?
If I mute the microphone from the end that is sending it's audio to IOS, the video plays perfectly no sutter.

Hi,
Could you please provide the sample application in which issue is reproducible,so that we can investigate this at our end.
Also, please try your app with latest AIR 3.9 available at
http://www.adobe.com/devnet/air/air-sdk-download.html
Thanks,
Sakshi
Adobe AIR Team

Similar Messages

  • Audio and video stutter problems with .mov

    Hi there, guest newbie here…..
    I’ve searched high and low for a solution to this problem but with no luck.
    Once upon a time I updated itunes to version 7 I think it was, and it caused all my tracks to stutter on playback. I then reverted back to 6.whatever and it solved the problem. I have been enjoying a stutter free life ever since…..until….
    I bought a tutorial DVD made up of lots of .mov files, when I tried to play one the video and the audio stuttered.
    However, when I fired up itunes, tracks in there played fine.
    Maybe it was the dvd?? So I put it in my laptop and it played fine!
    OK….. so I updated everything to their latest versions (Jan 09) on the other computer including:
    Quicktime
    Adobe Flash
    Soundcard (RME Multiface)
    Graphics card (Geforce FX 5200)
    I even tried using different media players to play the .mov files.. but NOTHING WORKED.
    I’ve played around with settings on each player i.e. ‘safe mode’ on quicktime, but again nothing worked. In fact this setting auto switches back to what it was when I try to play the file.
    Is anyone experiencing the same problems and does anyone have any more solutions to this problem????
    Many thanks in advance

    Sounds like his cashe is full. Clear his cashe out. You can do that in internet options and depending on the version of IE if that's what he is using you will find a option in there to delete temporary files. Delete everything from there, then restart IE, and he should be good to go.

  • Stereo audio causes "Video Bitrate too High" error

    SOS, Whizzkids.
    I try to make a build of a DVD with 1 menu and 3 tracks. , and I get an error message "Video Bitrate Too High." I check the compression setting and they're set to factory default for SD 4by3. (4 and 7 MB).
    Get this: I delete one channel of audio from each of the 3 tracks and it compiles perfectly.
    I duplicate audio channel 1 by option-dragging to channel 2 for one track, recompile and get the same error.
    I give in. Wassup?
    Any help gratefully received.

    Did you convert your audio to AC-3 (Dolby Digital)?
    If not, this is the likely cause of your problem. Run your audio through A.Pack (if using DVDSP 3 or earlier) or Compressor 2 (if using DVDSP 4). The "Dolby 2.0" presets in Compressor 2 are the Dolby Digital, but it's recommended to change the following settings and make a new preset.
    Set dialog normalization to -31 and the Compression Preset to "None". They default to -27 and "Film Standard", respectively.

  • Stuttering audio and video

    Hi
    I have iMovie 4 - I am creating a very short video using 2 audio files and edited video footage with altered (sped up) speed. As soon as I sped the speed up to the fastest setting, both audio and video stutter like crazy. Its imperitave that the video is played this fast. This happens when I play it in iMovie, open the quicktime file saved in iMovie and play it in iDVD. Your help would be appreciated.
    Many thanks
    Emily

    Well it momentarily fixed itself and actually burnt the DVD - which you were right - worked perfectly smoothly - sans stutter.
    HOWEVER later when I had burnt all my projects onto DVD and deleted them to free space, the ibook went crazy!
    Firstly it wouldnt detect any external devices - DVDs CDs or USB pens. Then it wouldnt save anything onto the HD saying that there was no space - a total lie - Id just trashed (and emptied out) about 20GB of video! Then it gave out completely - only a blue screen when I turned it on.
    Took it to local Macrepair - they said the Hard Drive had gone completely - would cost about 300 quid to fix. With all the work Ive had done on that machine I figured it was better to start over and got myself a shiny new Macbook - fingers crossed for this one eh? If it gives out in 3 years time Im making the move back to PC - which is sad because I love the style of Mac. At the end of the day though it all comes down to performance and durability I guess.

  • Video stutter - mini vs macbook - not audio related?

    Hi everyone - I've posted a couple of times now but for background, I am a new Mac/iMovie user and have just returned from an extended vacations where I created several projects using a Canon HV-10 for HD video. My projects play fine (for the most part) on my new MacBook (2.0 Gig processor) although I have experienced a limited number of video stutter issues. I've read the previous discussion threads but I dont think (?) they apply in my case as one of my projects doesnt have any "added" audio clips, and the other projects only have 2 or 3 songs added to the soundtrack. The videos still seem to "catch" or hesitate at specific clips but they dont do it all the time. More importantly, I just returned home and have attempted to play the projects on my mini (minimum configuration) and it both hangs up and when it does play, the frame rate is noticably slower than on the MacBook. I guess my question is, is there a fix for each of these cases? Also - if the Mini issue is insufficient hardware, is it likely the processor speed or can it be fixed or improved by just adding RAM? Thanks for your help.
    Scott
    mac mini, macbook   Mac OS X (10.4.8)  

    If the stutter you see is related to the audio, it can be caused by 1) the number of audio clips; or 2) the songs added to the project. Even one or two songs can cause a problem, if they are the right (wrong) songs.
    See this topic, which describes how to fix the songs:
    http://discussions.apple.com/click.jspa?searchID=-1&messageID=4202842
    Karl

  • File audio e video in keynote per ios

    Ho dei file audio e video nelle rispettive cartelle dell'iphone, come faccio ad inserire quei file in una presentazione con Keynote??? Grazie
    Quando cerco di inserire qualcosa mi esce solo la scelta delle foto e dei video in cartella foto!

    FOUND THE SOLUTION:
    I had this same problem and this resolved it for me:
    -Go to your "Settings" icon and click on the "General" tab.
    -About 2/3 way down the page you will see "Use side switch to:" - make sure "mute" is checked rather than "lock rotation."
    -Then make sure the side switch, located next to the volume toggle switch on the side of your ipad, is moved to the right (no red dot showing).
    My audio worked fine in embedded videos after I did those two things.  Hope it works for you.

  • Audio and video playback stuttering...sometimes

    I'm having issues with audio and video playback stuttering at times in several applications. It's the same kind of skipping or stuttering in each application, whether it's iTunes (version 10) or YouTube or Netflix (Safari). I can also hear it when I'm just adjusting the volume via the keyboard, the "clicks" stutter.
    I'm not running anything other than iTunes and Safari at once, the iMac has 2 gbs of RAM, it's running Snow Leopard. It also will work sometimes for a while. I just can't figure out why it will work sometimes and not others. Any ideas about what the cause may be? Quicktime X have anything to do with it?

    video playback stuttering at times in several applications.
    Quicktime wouldn't work either.
    Until you max out your ram, you are pretty much stuck between a rock and a hard place.  In the meantime, make sure you have the latest versions of
    Adobe Flash Player
    Flip4Mac
    VLC Media Player
    Perian
    Movist
    I'm noticing that in general it's running extremely slowly now, even with only the browser running.
    Disconnect all peripherals from your computer. Boot from your install disc & run Repair Disk from the utility menu. To use the Install Mac OS X disc, insert the disc, and restart your computer while holding down the C key as it starts up.
    Select your language.
    Once on the desktop, select Utility in the menu bar.
    Select Disk Utility.
    Select the disk or volume in the list of disks and volumes, and then click First Aid.
    Click Repair Disk.
    Restart your computer when done.
    Repair permissions after you reach the desktop-http://docs.info.apple.com/article.html?artnum=25751 and restart your computer.

  • My shuffle ,doesnt get syncronized with itunes in my pc,getting audio and video settings error,but able to get it syncronized with my friends pc

    my shuffle ,doesnt get syncronized with itunes in my pc,getting audio and video settings error,but able to get it syncronized with my friends pc    

    Try:                                               
    - iOS: Not responding or does not turn on           
    - Also try DFU mode after try recovery mode
    How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
    - If not successful and you can't fully turn the iOS device fully off, let the battery fully drain. After charging for an least an hour try the above again.
    - Try another cable                     
    - Try on another computer                                                       
    - If still not successful that usually indicates a hardware problem and an appointment at the Genius Bar of an Apple store is in order.
    Apple Retail Store - Genius Bar
    The missing apps could have been done by setting the Restrictions that can hid those apps. If the backup was made with those retrictions set the the Restrictions are also restored.
    Thus, if you get it to work restore to factory settings/new iPod, not from backup                               
    You can redownload most iTunes purchases by:        
      Downloading past purchases from the App Store, iBookstore, and iTunes Store

  • DO i need some extra hardware interface for receving both Audio and video

    hi i m doing e-learning project. i have to capture video from webcam and voice from headphone and send to client.
    but my code is working fine for either one at a time.
    DO i need some extra hardware interface for receving both Audio and video. im using code AVTransmit and AVReceive found from this site only
    After running TX
    i give Dsound:// & vfw://0 in Media Locater only sound is received and no vedio
    and when i give vfw://0 in Media Locater only live video is transmited.
    im using JMF1.1.2e.
    if any one know the method to run or cause of it plz reply me soon. i will be very thankfull
    transmiter/server side code .first run TX on server
    import java.io.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.net.*;
    import java.util.*;
    import javax.media.rtp.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.border.*;
    public class Tx extends JFrame implements ActionListener, KeyListener,
    MouseListener, WindowListener {
    Vector targets;
    JList list;
    JButton startXmit;
    JButton rtcp;
    JButton update;
    JButton expiration;
    JButton statistics;
    JButton addTarget;
    JButton removeTarget;
    JTextField tf_remote_address;
    JTextField tf_remote_data_port;
    JTextField tf_media_file;
    JTextField tf_data_port;
    TargetListModel listModel;
    AVTransmitter avTransmitter;
    RTCPViewer rtcpViewer;
    JCheckBox cb_loop;
    Config config;
    public Tx() {
    setTitle( "JMF/RTP Transmitter");
         config= new Config();
         GridBagLayout gridBagLayout= new GridBagLayout();
         GridBagConstraints gbc;
         JPanel p= new JPanel();
         p.setLayout( gridBagLayout);
         JPanel localPanel= createLocalPanel();
         gbc= new GridBagConstraints();
         gbc.gridx= 0;
         gbc.gridy= 0;
         gbc.gridwidth= 2;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( localPanel, gbc);
         p.add( localPanel);
         JPanel targetPanel= createTargetPanel();
         gbc= new GridBagConstraints();
         gbc.gridx= 1;
         gbc.gridy= 1;
         gbc.weightx= 1.0;
         gbc.weighty= 1.0;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( targetPanel, gbc);
    p.add( targetPanel);
         JPanel mediaPanel= createMediaPanel();
         gbc= new GridBagConstraints();
         gbc.gridx= 1;
         gbc.gridy= 2;
         gbc.weightx= 1.0;
         gbc.weighty= 1.0;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( mediaPanel, gbc);
    p.add( mediaPanel);
    JPanel buttonPanel= new JPanel();
    rtcp= new JButton( "RTCP Monitor");
    update= new JButton( "Transmission Status");
         update.setEnabled( false);
         rtcp.addActionListener( this);
         update.addActionListener( this);
         buttonPanel.add( rtcp);
         buttonPanel.add( update);
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 3;
    gbc.gridwidth= 2;
         gbc.weightx = 1.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.CENTER;
         gbc.fill = GridBagConstraints.HORIZONTAL;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( buttonPanel, gbc);
         p.add( buttonPanel);
    getContentPane().add( p);
         list.addMouseListener( this);
         addWindowListener( this);
    pack();
    setVisible( true);
    private JPanel createMediaPanel() {
    JPanel p= new JPanel();
         GridBagLayout gridBagLayout= new GridBagLayout();
    GridBagConstraints gbc;
         p.setLayout( gridBagLayout);
         JLabel label= new JLabel( "Media Locator:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( label, gbc);
         p.add( label);
         tf_media_file= new JTextField( 35);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 0;
         gbc.weightx = 1.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.HORIZONTAL;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( tf_media_file, gbc);
         p.add( tf_media_file);
         tf_media_file.setText( config.media_locator);
         cb_loop= new JCheckBox( "loop");
         startXmit= new JButton( "Start Transmission");
         startXmit.setEnabled( true);
         startXmit.addActionListener( this);
         gbc= new GridBagConstraints();
         gbc.gridx = 2;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( cb_loop, gbc);
         p.add( cb_loop);
         cb_loop.setSelected( true);
         cb_loop.addActionListener( this);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.CENTER;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( startXmit, gbc);
         p.add( startXmit);
         TitledBorder titledBorder= new TitledBorder( new EtchedBorder(), "Source");
         p.setBorder( titledBorder);
         return p;
    private JPanel createTargetPanel() {
    JPanel p= new JPanel();
         GridBagLayout gridBagLayout= new GridBagLayout();
    GridBagConstraints gbc;
         p.setLayout( gridBagLayout);
         targets= new Vector();
         for( int i= 0; i < config.targets.size(); i++) {
         targets.addElement( config.targets.elementAt( i));
    listModel= new TargetListModel( targets);
    list= new JList( listModel);
         list.addKeyListener( this);
         list.setPrototypeCellValue( "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
    JScrollPane scrollPane= new JScrollPane( list,
    ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
    ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
         gbc= new GridBagConstraints();
         gbc.gridx= 0;
         gbc.gridy= 0;
         gbc.weightx= 1.0;
         gbc.weighty= 1.0;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( scrollPane, gbc);
         p.add( scrollPane);
    JPanel p1= new JPanel();
         p1.setLayout( gridBagLayout);
         JLabel label= new JLabel( "IP Address:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( label, gbc);
         p1.add( label);
         tf_remote_address= new JTextField( 15);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( tf_remote_address, gbc);
         p1.add( tf_remote_address);
         label= new JLabel( "Data Port:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( label, gbc);
         p1.add( label);
         tf_remote_data_port= new JTextField( 15);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( tf_remote_data_port, gbc);
         p1.add( tf_remote_data_port);     
    JPanel p2= new JPanel();
    addTarget= new JButton( "Add Target");     
    removeTarget= new JButton( "Remove Target");
         p2.add( addTarget);
         p2.add( removeTarget);
         addTarget.addActionListener( this);
         removeTarget.addActionListener( this);
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 2;
         gbc.weightx = 1.0;
         gbc.weighty = 0.0;
         gbc.gridwidth= 2;
         gbc.anchor = GridBagConstraints.CENTER;
         gbc.fill = GridBagConstraints.HORIZONTAL;
         gbc.insets = new Insets( 20,5,0,5);
         ((GridBagLayout)p1.getLayout()).setConstraints( p2, gbc);
         p1.add( p2);
         gbc= new GridBagConstraints();
         gbc.gridx= 1;
         gbc.gridy= 0;
         gbc.weightx= 1.0;
         gbc.weighty= 1.0;
         gbc.anchor= GridBagConstraints.CENTER;
         gbc.fill= GridBagConstraints.BOTH;
         gbc.insets= new Insets( 10, 5, 0, 0);
         ((GridBagLayout)p.getLayout()).setConstraints( p1, gbc);
         p.add( p1);
         TitledBorder titledBorder= new TitledBorder( new EtchedBorder(), "Targets");
         p.setBorder( titledBorder);
         return p;
    private JPanel createLocalPanel() {
    JPanel p= new JPanel();
         GridBagLayout gridBagLayout= new GridBagLayout();
    GridBagConstraints gbc;
         p.setLayout( gridBagLayout);
         JLabel label= new JLabel( "IP Address:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p.getLayout()).setConstraints( label, gbc);
         p.add( label);
         JTextField tf_local_host= new JTextField( 15);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 0;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p.getLayout()).setConstraints( tf_local_host, gbc);
         p.add( tf_local_host);
         try {
    String host= InetAddress.getLocalHost().getHostAddress();     
         tf_local_host.setText( host);
         } catch( UnknownHostException e) {
         label= new JLabel( "Data Port:");
         gbc= new GridBagConstraints();
         gbc.gridx = 0;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.EAST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,0,5);
         ((GridBagLayout)p.getLayout()).setConstraints( label, gbc);
         p.add( label);
         tf_data_port= new JTextField( 15);
         gbc= new GridBagConstraints();
         gbc.gridx = 1;
         gbc.gridy = 1;
         gbc.weightx = 0.0;
         gbc.weighty = 0.0;
         gbc.anchor = GridBagConstraints.WEST;
         gbc.fill = GridBagConstraints.NONE;
         gbc.insets = new Insets( 5,5,10,5);
         ((GridBagLayout)p.getLayout()).setConstraints( tf_data_port, gbc);
         p.add( tf_data_port);
         tf_data_port.setText( config.local_data_port);
         TitledBorder titledBorder= new TitledBorder( new EtchedBorder(), "Local Host");
         p.setBorder( titledBorder);
         return p;
    public void actionPerformed( ActionEvent event) {
    Object source= event.getSource();
         if( source == addTarget) {
         String ip= tf_remote_address.getText().trim();
         String port= tf_remote_data_port.getText().trim();
         String localPort= tf_data_port.getText().trim();
         addTargetToList( localPort, ip, port);
         if( avTransmitter != null) {
         avTransmitter.addTarget( ip, port);
         } else if( source == removeTarget) {
         int index= list.getSelectedIndex();
         if( index != -1) {
              Target target= (Target) targets.elementAt( index);
              if( avTransmitter != null) {
         avTransmitter.removeTarget( target.ip, target.port);
              targets.removeElement( target);
              listModel.setData( targets);          
         } else if( source == startXmit) {
         if( startXmit.getLabel().equals( "Start Transmission")) {          
         int data_port= new Integer( tf_data_port.getText()).intValue();
              avTransmitter= new AVTransmitter( this, data_port);
         avTransmitter.start( tf_media_file.getText().trim(), targets);          
              avTransmitter.setLooping( cb_loop.isSelected());
         startXmit.setLabel( "Stop Transmission");
         } else if( startXmit.getLabel().equals( "Stop Transmission")) {
              avTransmitter.stop();
              avTransmitter= null;
              removeNonBaseTargets();
              listModel.setData( targets);
         startXmit.setLabel( "Start Transmission");          
         } else if( source == rtcp) {
         if( rtcpViewer == null) {
         rtcpViewer= new RTCPViewer();
         } else {
              rtcpViewer.setVisible( true);
              rtcpViewer.toFront();
         } else if( source == cb_loop) {
         if( avTransmitter != null) {
              avTransmitter.setLooping( cb_loop.isSelected());
    private void removeNonBaseTargets() {
         String localPort= tf_data_port.getText().trim();
         for( int i= targets.size(); i > 0;) {
         Target target= (Target) targets.elementAt( i - 1);
         if( !target.localPort.equals( localPort)) {
    targets.removeElement( target);
         i--;
    public void addTargetToList( String localPort,
                             String ip, String port) {     
    ListUpdater listUpdater= new ListUpdater( localPort, ip,
                                  port, listModel, targets);
    SwingUtilities.invokeLater( listUpdater);           
    public void rtcpReport( String report) {
         if( rtcpViewer != null) {
         rtcpViewer.report( report);
    public void windowClosing( WindowEvent event) {
         config.local_data_port= tf_data_port.getText().trim();
         config.targets= new Vector();
         for( int i= 0; i < targets.size(); i++) {
         Target target= (Target) targets.elementAt( i);
         if( target.localPort.equals( config.local_data_port)) {
              config.addTarget( target.ip, target.port);
         config.media_locator= tf_media_file.getText().trim();
         config.write();
    System.exit( 0);
    public void windowClosed( WindowEvent event) {
    public void windowDeiconified( WindowEvent event) {
    public void windowIconified( WindowEvent event) {
    public void windowActivated( WindowEvent event) {
    public void windowDeactivated( WindowEvent event) {
    public void windowOpened( WindowEvent event) {
    public void keyPressed( KeyEvent event) {
    public void keyReleased( KeyEvent event) {
    Object source= event.getSource();
         if( source == list) {
         int index= list.getSelectedIndex();
    public void keyTyped( KeyEvent event) {
    public void mousePressed( MouseEvent e) {
    public void mouseReleased( MouseEvent e) {
    public void mouseEntered( MouseEvent e) {
    public void mouseExited( MouseEvent e) {
    public void mouseClicked( MouseEvent e) {
    Object source= e.getSource();
         if( source == list) {
         int index= list.getSelectedIndex();
         if( index != -1) {
              Target target= (Target) targets.elementAt( index);
              tf_remote_address.setText( target.ip);
              tf_remote_data_port.setText( target.port);
         int index= list.locationToIndex( e.getPoint());
    public static void main( String[] args) {
    new Tx();
    class TargetListModel extends AbstractListModel {
    private Vector options;
    public TargetListModel( Vector options) {
         this.options= options;
    public int getSize() {
         int size;
         if( options == null) {
         size= 0;
         } else {
         size= options.size();
         return size;
    public Object getElementAt( int index) {
    String name;
    if( index < getSize()) {
         Target o= (Target)options.elementAt( index);
    name= o.localPort + " ---> " + o.ip + ":" + o.port;
         } else {
         name= null;
         return name;
    public void setData( Vector data) {
         options= data;
         fireContentsChanged( this, 0, data.size());
    class ListUpdater implements Runnable {
    String localPort, ip, port;
    TargetListModel listModel;
    Vector targets;
    public ListUpdater( String localPort, String ip, String port,
                   TargetListModel listModel, Vector targets) {
         this.localPort= localPort;
         this.ip= ip;
         this.port= port;
         this.listModel= listModel;
         this.targets= targets;
    public void run() {
    Target target= new Target( localPort, ip, port);
         if( !targetExists( localPort, ip, port)) {
         targets.addElement( target);
    listModel.setData( targets);
    public boolean targetExists( String localPort, String ip, String port) {
         boolean exists= false;
         for( int i= 0; i < targets.size(); i++) {
         Target target= (Target) targets.elementAt( i);
         if( target.localPort.equals( localPort)
         && target.ip.equals( ip)
              && target.port.equals( port)) {          
              exists= true;
         break;
         return exists;
    >>>>>>>>>>>>>>>>>
    import java.awt.*;
    import java.io.*;
    import java.net.InetAddress;
    import java.util.*;
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.format.*;
    import javax.media.control.TrackControl;
    import javax.media.control.QualityControl;
    import javax.media.rtp.*;
    import javax.media.rtp.event.*;
    import javax.media.rtp.rtcp.*;
    public class AVTransmitter implements ReceiveStreamListener, RemoteListener,
    ControllerListener {
    // Input MediaLocator
    // Can be a file or http or capture source
    private MediaLocator locator;
    private String ipAddress;
    private int portBase;
    private Processor processor = null;
    private RTPManager rtpMgrs[];
    private int localPorts[];
    private DataSource dataOutput = null;
    private int local_data_port;
    private Tx tx;
    public AVTransmitter( Tx tx, int data_port) {
         this.tx= tx;
         local_data_port= data_port;
    * 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 filename, Vector targets) {
         String result;
         locator= new MediaLocator( filename);
         // 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( targets);
         if (result != null) {
         processor.close();
         processor = null;
         return result;
         // Start the transmission
         processor.start();
         return null;
    * Use the RTPManager API to create sessions for each media
    * track of the processor.
    private String createTransmitter( Vector targets) {
         // Cheated. Should have checked the type.
         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.initialize( localAddr);          
              rtpMgrs[i].addReceiveStreamListener(this);
              rtpMgrs[i].addRemoteListener(this);
         for( int k= 0; k < targets.size(); k++) {
              Target target= (Target) targets.elementAt( k);
              int targetPort= new Integer( target.port).intValue();
              addTarget( localPorts[ i], rtpMgrs[ i], target.ip, targetPort + 2*i);
              sendStream = rtpMgrs[i].createSendStream(dataOutput, i);          
              sendStream.start();
         } catch (Exception e) {
              e.printStackTrace();
              return e.getMessage();
         return null;
    public void addTarget( String ip, String port) {
         for (int i= 0; i < rtpMgrs.length; i++) {
         int targetPort= new Integer( port).intValue();
         addTarget( localPorts[ i], rtpMgrs[ i], ip, targetPort + 2*i);
    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 + "");
         } catch( Exception e) {
         e.printStackTrace();
    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.");
         } catch( Exception e) {
         e.printStackTrace();
    boolean looping= true;
    public void controllerUpdate( ControllerEvent ce) {
         System.out.println( ce);
         if( ce instanceof DurationUpdateEvent) {
         Time duration= ((DurationUpdateEvent) ce).getDuration();
         System.out.println( "duration: " + duration.getSeconds());
         } else if( ce instanceof EndOfMediaEvent) {
         System.out.println( "END OF MEDIA - looping=" + looping);
         if( looping) {
         processor.setMediaTime( new Time( 0));
              processor.start();
    public void setLooping( boolean flag) {
         looping= flag;
    public void update( ReceiveStreamEvent event) {
         String timestamp= getTimestamp();
         StringBuffer sb= new StringBuffer();
         if( event instanceof InactiveReceiveStreamEvent) {
         sb.append( timestamp + " Inactive Receive Stream");
         } else if( event instanceof ByeEvent) {
         sb.append( timestamp + " Bye");
         } else {
         System.out.println( "ReceiveStreamEvent: "+ event);
         tx.rtcpReport( sb.toString());     
    public void update( RemoteEvent event) {     
         String timestamp= getTimestamp();
         if( event instanceof ReceiverReportEvent) {
         ReceiverReport rr= ((ReceiverReportEvent) event).getReport();
         StringBuffer sb= new StringBuffer();
         sb.append( timestamp + " RR");
         if( rr != null) {
              Participant participant= rr.getParticipant();
              if( participant != null) {
              sb.append( " from " + participant.getCNAME());
              sb.append( " ssrc=" + rr.getSSRC());
              } else {
              sb.append( " ssrc=" + rr.getSSRC());
              tx.rtcpReport( sb.toString());
         } else {
         System.out.println( "RemoteEvent: " + event);
    private String getTimestamp() {
         String timestamp;
         Calendar calendar= Calendar.getInstance();
         int hour= calendar.get( Calendar.HOUR_OF_DAY);
         String hourStr= formatTime( hour);
         int minute= calendar.get( Calendar.MINUTE);
         String minuteStr= formatTime( minute);
         int second= calendar.get( Calendar.SECOND);
         String secondStr= formatTime( second);
         timestamp= hourStr + ":" + minuteStr + ":" + secondStr;     
         return timestamp;
    private String formatTime( int time) {     
         String timeStr;
         if( time < 10) {
         timeStr= "0" + time;
         } else {
         timeStr= "" + time;
         return timeStr;
    * 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();
    public 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);
         processor.addControllerListener( this);     
         } 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]);
              } 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);
         // Get the output data source of the processor
         dataOutput = processor.getDataOutput();
         return null;
    static SessionAddress destAddr1, destAddr2;
    * 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 synchronized 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
         // realiz

    I do this all the time, I put my MBP to a 60 inch Sharp. If you have the video working do the simple thing first. Check to make sure your sound is on your TV and Mac. Then if that doesn't work go to System Prefrences and under sound go to a tab called Output and see if your TV is listed and if it is change it to that setting
    Hope It Works

  • Ipad background audio from video when multitasking

    Hello.
    This is a request if people can either feedback On their present experience or try this out themselves first and feedback.
    I have an ipad 1. When ever i try to get background audio to play from video when multitasking in another app, eg safari, from any video app including plex, airvideo, vlc,  and the original apple video app. All that occurs is that the icon changes to the ipod and a random song is played from my music library instead of the audio from the video i was watching. This does not matter if the video file is streamed or stored on the ipad itself.
    There is one slight and occasional proviso to this, as at times if the video file is tagged in itunes as 'music' rather than 'movie' or 'tv show' etc then it does on occasions work, and on occasions youtube videos will play in the background. But most of the time these aspects also dont function int he background with the ipod icon instantly replacing which ever video app icon i tried to use in the background.
    Now my sons iphone 4 manages to function correctly and always plays video in the background when multitasking.
    I have asked this question before on this forum, with no response, so booked a visit to my local genius bar. Where they checked my ipad and agreed it wasnt working as ios should, then interestingly they attempted to do the same on an ipad 2 and it failed to work in exactly the same way.  Their response was that this was obviously a fault of the ipad ios, possibly due to the ipad having a separate video app where as the iphone has video within its generic ipod app.
    I did the usual by informing apple via of this bug through the feedback system, and requested that the genius bar do the same. But having thought about this, and failed to see any other users on this forum who are also puzzled at this lack of what i think is an important function, i wonder if this means that i am the only one who likes to listen to video when im browsing, so dont need it, or wether everyone elses ipads function as ios should do, and for some reason both my ipad, and the ipad 2 tested in the shop are at fault.
    So can i request if others reading this can have a go to see if their ipad will play background audio from video when multitasking, or if the same problem occurs.
    Thanks very much this is really appreciated.

    Oops clicked the wrong button, I meant to click a 'helpful answer' as it  hard to have a correct answer to such a question.
    But thanks for the replies.
    It looks like this is a bug in ios solely for the ipad, as it does work fine on the iphone  although wonder which way the ipod touch will perform. interestingly it looks like i may also be in the minority of wishing to listen to video files as I browse:)
    Which probably means apple may never get around to sorting it, as no one else uses the function.
    Anyway thanks for the replies, if any one else wants to see the bug have a go and comment, i find it funny how I seem to be the only one to have found it to date.
    R:)

  • Does 2 firewire audio and video interface can work together  on FCP ?

    hello,
    My audio interface is a TC Electronic Konnekt 24D
    my video interface is a Canopus ADVC 110
    my hard drives are plugged in firewire too
    and I use Final Cut Pro 5.0.4
    So, the konnekt is recognized by FCP only when the Canopus is not plugged. And even then, the audio sometimes drop out and sometimes causes the app to crash, so that I have to trash the preferences
    When I plug the Canopus, the Konnekt 24D is recognised by OS X but not FCP
    I want to use the voice over tool with the konnekt 24D, so what should I do ?
    Does 2 firewire audio and video interface can work together ?
    If so, maybe I only have a driver problem from TC Electronic.
    But if not, I have to change this interface. Let me know if only RME, MOTU, Presonus and Edirol work, as it is said on apple's webpage for hardware compatibility
    thanks
    eMac G4 1,25 Ghz Mac OS X (10.3.9)
    eMac G4 1,25 Ghz 1 Go RAM DDR   Mac OS X (10.3.9)  

    The 1082 does show up as a possible input when I open
    the VO tool.
    Ok. So an audio interface can be plugged to FCP without crashing the app. Because of the Konnekt driver problem, I wasn't shure of this.
    I use my Aja box for export & external monitoring.
    All my audio sources run back into the Tascam and I
    use the analog mixer in the 1082 to monitor different
    sources.
    When I view external video, the audio follows it to
    keep sync.
    that's exactly what I want with other I/O interfaces. I'd like to monitor video with the canopus ADVC 110, and monitor audio with the Konnekt 24D (or another interface if this one is not compatible)
    I also imput dailies with a deck or a camera (DV or HDV) but that's not the point here.
    I want to imput audio with the Konnekt 24D because of its audio quality. Not audio sync to video dailies. But voice over, in sync with FCP video playback (for me, tha ADVC 110)

  • I am trying to export a video from Premiere Pro.  I have both audio and video checked and the sequence is active but only the audio exports.  There is no video at all.  Can anyone tell me how to get the video to export.  It was working fine until today.

    Premiere Pro CC has been working fine until today.  I have completed my sequence and it is active.  I have both audio and video checked when I am exporting using H.264 with Match Source Hi bitrate.  I am choosing entire sequence.  The audio exports but the video and title does not.  Can anyone tell me how to troubleshoot this so I can complete this project?  Please!

    Greetings,
    I've never seen this issue, and I handle many iPads, of all versions. WiFi issues are generally local to the WiFi router - they are not all of the same quality, range, immunity to interference, etc. You have distance, building construction, and the biggie - interference.
    At home, I use Apple routers, and have no issues with any of my WiFi enabled devices, computers, mobile devices, etc - even the lowly PeeCees. I have locations where I have Juniper Networks, as well as Aruba, and a few Netgears - all of them work as they should.
    The cheaper routers, Linksys, D-Link, Seimens home units, and many other no name devices have caused issues of various kinds, and even connectivity.
    I have no idea what Starbucks uses, but I always have a good connection, and I go there nearly every morning and get some work done, as well as play.
    You could try changing channels, 2.4 to 5 Gigs, changing locations of the router. I have had to do all of these at one time or another over the many years that I have been a Network Engineer.
    Good Luck - Cheers,
    M.

  • How do I fix out of sync audio and video on my ipad2?

    How do I fix out of sync audio and video on my ipad2?  The version is iOS 7.1.2

    In what app?
    Have you restarted or reset the device?

  • Audio Follows Video greyed out

    I am working with a sequence that uses clips that were shot DVC Pro 720p 30, NTSC. Suddenly, when looking at interview content in the canvas and viewer, the sync for content from a particular reel is slightly off. I noticed under the view menu / audio playback, audio follows video is greyed out. The only options are default or built in output. At first I thought that was the proglem (can anyone tell me why it is greyed out, and if I need to select this somehow?)
    Interestingly, however, other clips in the project, shot on the same day, do not appear to have the same sync problem. What would cause the sync problem on this one reel? I did not notice the sync problem when previously working with the material.
    Thank you so much in advance.

    I seem to remember this happening before with captured material. Can someone answer the question of whether I should switch the sequence settings to the settings that I used to capture the clip originally?
    Or could the clip have been corrupted, and if yes, what to do? Or is the simplest solution to re-sync by eye? It's sort of like when the data flow isn't fast enough and sync is lost.
    Thanks to all for your comments.

  • No audio with video, website navigation impaired, I can no longer recommend Firefox

    I maintain the video site shaleshockmedia.org. I can no longer recommend Firefox to viewers because of the severe problem I have been experiencing: No audio with video; navigation often does not work. Maybe this is purely a local problem. Please let me know if the site is fully functional or not when you go there. There is no problem with Chrome or Safari. My computer is a Macbook Pro 3,1 Intel Core 2 Duo. MacOs 10.6.8

    Note that there are a lot of popular extensions that can cause issues with videos not working apart from issues with the Flash plugin.
    In what way is the navigation not working properly?
    Can you give some examples?
    Start Firefox in <u>[[Safe Mode|Safe Mode]]</u> to check if one of the extensions (Firefox/Tools > Add-ons > Extensions) or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox/Tools > Add-ons > Appearance).
    *Do NOT click the Reset button on the Safe mode start window or otherwise make changes.
    *https://support.mozilla.org/kb/Safe+Mode
    *https://support.mozilla.org/kb/Troubleshooting+extensions+and+themes
    Check for problems with current Flash plugin versions and try these:
    *disable a possible RealPlayer Browser Record Plugin extension for Firefox and update the RealPlayer if installed
    *disable protected mode in Flash 11.3 and later
    *disable hardware acceleration in the Flash plugin
    *http://kb.mozillazine.org/Flash#Troubleshooting

Maybe you are looking for

  • Configuring an Integration Process

    Hi All, Are there any good articles or weblogs explaining how to configure an integration process in the integration directory? I have an integration process which implements a sync-async bridge. Thanks, Sandeep

  • Syncing iPad 2 via iTunes

    I am attempting to backup and sync an iPad 2 to my Mac Pro laptop via iTunes. My iPad is running IOS 8.1 and my laptop in running Yosemite. iTunes keep giving me an error message "unable able to copy to MAC hard drive" unknown error. Looking for help

  • [svn:osmf:] 15230: Fix for FM-348:

    Revision: 15230 Revision: 15230 Author:   [email protected] Date:     2010-04-05 22:17:39 -0700 (Mon, 05 Apr 2010) Log Message: Fix for FM-348: Once a video or audio element is loaded, its default time trait is overridden by the permanent versions. H

  • How to disable proftpd on solaris 8

    Hi, How to disable proftpd from the server on solaris8? there is one process running on box named /usr/local/sbin/proftpd -q -n -c /usr/local/etc/test-ftp.conf. thx

  • WorkFlow to archive to off computer storage?

    I have a workflow question that I am sure someone has already come up with a recommended solution to this. Here is what I would like to come up with. 1. Take pictures with camera. 2. Import them into Lightroom onto local hard drive. 3. Tag them with