Processor.getVisualComponent

hi,
i have a problem with the method getVisualComponent called by an instance of a processor.. the error return a null pointer exception. I don't know why because if i used a player with the same configuration, it's ok.
Please help me

Code snippets
private void addMyCamera() throws Exception
     Vector vCDs = CaptureDeviceManager.getDeviceList(null); //     get Devices supported
     Iterator iTCams = vCDs.iterator();
     while(iTCams.hasNext())
         CaptureDeviceInfo cDI = (CaptureDeviceInfo)iTCams.next();
         if(cDI.getName().startsWith("vfw:"))
          MediaLocator mL = cDI.getLocator();
          DataSource dS = Manager.createCloneableDataSource(Manager.createDataSource(mL));
          Player player = Manager.createPlayer(dS);
          if(player != null)
              cameras.addPlayerDataSource(new PlayerDataSource(true, player, dS, "My Camera"));
              player.addControllerListener(this);
              player.realize();
          validate();
          break;
     *     ControllerListener
    public void controllerUpdate(ControllerEvent e)
     Player p = (Player)e.getSourceController();
     if(p == null)
         return;
     if(e instanceof RealizeCompleteEvent)
         System.out.println("Received - RealizeCompleteEvent");
         try{
          Component c = p.getVisualComponent();
          if(c != null)
              cameras.addVideoPlayer(p);
          else
              //     we can presume this is the Audio Channel
              cameras.addAudioControl(p);
         }catch(Exception eX){
          eX.printStackTrace();
         validate();
         p.start();
     else if(e instanceof EndOfMediaEvent)
//         System.out.println("Received - EndOfMediaEvent");
         if(cameras.isLooped(p))
          p.setMediaTime(new Time(0));
          p.start();
    }PlayerDataSource is a class I use to manage several object so that i can access them from various GUI events like Record/Broadcast
different class from above
public void startRecording() throws Exception
     bRecording = true;
     DataSource dS = ((SourceCloneable)dataSource).createClone();
     Processor p = Manager.createProcessor(dS);
     p.addControllerListener(this);
     p.configure();
   public void controllerUpdate(ControllerEvent e)
     if(e instanceof EndOfMediaEvent)
         Player p = (Player)e.getSourceController();
         if(p == null)
          return;
         if(e instanceof EndOfMediaEvent)
          p.setMediaTime(new Time(0));
          p.start();
     else if(e instanceof ConfigureCompleteEvent)
         Processor p = (Processor)e.getSourceController();
         try{
          System.out.println("Configured");
          p.setContentDescriptor(new FileTypeDescriptor(FileTypeDescriptor.MSVIDEO));
          p.realize();
         }catch(Exception eX){
          eX.printStackTrace();
     else if(e instanceof RealizeCompleteEvent)
         Processor p = (Processor)e.getSourceController();
         if( bRecording)
          String sC = getCameraCaption();
          System.out.println("startRecording CameraView '" + sC + "'");
          try{
              GregorianCalendar gC = new GregorianCalendar();
              File f = new File(sC + "_" + gC.get(Calendar.YEAR) + gC.get(Calendar.MONTH) +
               gC.get(Calendar.DAY_OF_MONTH) + gC.get(Calendar.HOUR_OF_DAY) +
               gC.get(Calendar.MINUTE) + gC.get(Calendar.SECOND) + ".mov");
              MediaLocator mL = new MediaLocator(f.toURL());
              dataSink = Manager.createDataSink(p.getDataOutput(), mL);
              dataSink.open();
              dataSink.start();
              p.start();
          }catch(Exception eX){
              eX.printStackTrace();
    }

Similar Messages

  • Re: JMF and rendering formats with a processor

    Don't ask me how it works, I don't know :-). Got it from somewhere I don't remember.
    package gui;
    // Fig 21.6: MediaPanel.java
    // A JPanel the plays media from a URL
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.util.List;
    import java.io.IOException;
    import java.net.URL;
    import javax.media.CannotRealizeException;
    import javax.media.Codec;
    import javax.media.ConfigureCompleteEvent;
    import javax.media.ControllerEvent;
    import javax.media.ControllerListener;
    import javax.media.EndOfMediaEvent;
    import javax.media.Manager;
    import javax.media.NoPlayerException;
    import javax.media.PrefetchCompleteEvent;
    import javax.media.Processor;
    import javax.media.RealizeCompleteEvent;
    import javax.media.ResourceUnavailableEvent;
    import javax.media.UnsupportedPlugInException;
    import javax.media.control.TrackControl;
    import javax.media.format.VideoFormat;
    import javax.swing.JPanel;
    public class MediaPanel extends JPanel implements ControllerListener
       Processor processor = null;
       Component visualComponent = null;
       Component controlPanel = null;
       List<Codec> effects = null;
       Object waitSync = new Object();
       boolean stateTransitionOK = true;
       public MediaPanel() {
            Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, true);
            setLayout(new BorderLayout());
       public MediaPanel( URL mediaURL )  {
           this();
          open(mediaURL);  
       public void setEffects(List<Codec> aEffects) {
            effects = aEffects;
       public List<Codec> getEffects() {
            return effects;
       public void open(URL mediaURL) {
            try {
                   if(processor != null) {
                        processor.stop();
                        processor.close();
                        remove(visualComponent);
                        remove(controlPanel);
                  // create a player to play the media specified in the URL
                  processor = Manager.createProcessor( mediaURL );
                  processor.addControllerListener(this);
                  processor.configure();
                  if (!waitForState(Processor.Configured)) {
                       throw new Exception("Failed to configure the processor.");
                  processor.setContentDescriptor(null);
                   // Obtain the track controls.
                   TrackControl tc[] = processor.getTrackControls();
                   if (tc == null) {
                       throw new Exception("Failed to obtain track controls from the processor.");
                   // Search for the track control for the video track.
                   TrackControl videoTrack = null;
                   for (int i = 0; i < tc.length; i++) {
                       if (tc.getFormat() instanceof VideoFormat) {
                   videoTrack = tc[i];
                   break;
              if (videoTrack == null) {
              throw new Exception("The input media does not contain a video track.");
              System.err.println("Video format: " + videoTrack.getFormat());
              // Instantiate and set the frame access codec to the data flow path.
              try {
              if(effects != null && ! effects.isEmpty()) videoTrack.setCodecChain((Codec [])effects.toArray(new Codec[effects.size()]));
              } catch (UnsupportedPlugInException e) {
              throw new Exception("The processor does not support effects.");
              processor.prefetch();
              if(!waitForState(Processor.Prefetched)) {
                   throw new Exception("Failed to realize the processor");
         // get the components for the video and the playback controls
         visualComponent = processor.getVisualComponent();
         controlPanel = processor.getControlPanelComponent();
         setLayout(new BorderLayout());
         if ( visualComponent != null )
              add( visualComponent, BorderLayout.CENTER ); // add video component
         if ( controlPanel != null )
         add( controlPanel, BorderLayout.SOUTH ); // add controls
         validate();
         } catch ( NoPlayerException noPlayerException ) {
              System.err.println( "No media player found" );
         } catch ( CannotRealizeException cannotRealizeException ) {
              System.err.println( "Could not realize media player" );
         } catch ( IOException iOException ) {
              System.err.println( "Error reading from the source" );
         } catch (Exception e) {
              System.err.println(e.getMessage());
    * Controller Listener.
    public void controllerUpdate(ControllerEvent evt) {
         if (evt instanceof ConfigureCompleteEvent ||
                   evt instanceof RealizeCompleteEvent ||
                   evt instanceof PrefetchCompleteEvent) {
              synchronized (waitSync) {
                   stateTransitionOK = true;
                   waitSync.notifyAll();
         } else if (evt instanceof ResourceUnavailableEvent) {
              synchronized (waitSync) {
                   stateTransitionOK = false;
                   waitSync.notifyAll();
         } else if (evt instanceof EndOfMediaEvent) {
              processor.close();
              // System.exit(0);
    * Block until the processor has transitioned to the given state.
    * Return false if the transition failed.
    boolean waitForState(int state) {
         synchronized (waitSync) {
              try {
                   while (processor.getState() != state && stateTransitionOK)
                        waitSync.wait();
              } catch (Exception e) {}
         return stateTransitionOK;

    OK, the fog is slowly clearing.
    I have a machine with a new installation of XP on it. I installed JMF2.1.1e, and tried to play an MPEG2 video - and got an error (a somewhat opaque "Failed to realize" message). So JMF does not come with a MPEG2 codec. So far so good.
    Comparing the new machine with my development machine I realised that a key difference was DVD playback software....I guess this installs DirectShow MPEG-2 capability (thanks for the suggestion, andyble).
    Installing a similar DirectShow MPEG-2 codec (FFDShow) on the new machine allowed the video to play without any changes to the installed JMF!
    So...conclusions so far are
    - JMF does not take advantage of hardware acceleration (not surprising, really).
    - JMF will pick up "native" codecs automagically.
    I was fooling myself into thinking that the various MPEG-2 codec libraries I was plugging into JMF (JFFMPEG, FOBS) were actually being used. Instead it was bypassing the lot and using a direct line into the hardware (note, I am using the Windows optimised installation of JMF, but I wasn't expecting it to completely ignore the setup information!).
    So the final question has to be how to select between internal codecs and the native DirectShow? Any ideas, anyone?

  • How to get  the mouse clicked positions on a movie

    I am doing a project on Objects tracking
    I am capturing the video data using webcamera and playing it using processor in JMF
    my problem is , if i click on the movie that is being played currently, i have to display the co-ordinates of the mouse clicked position.
    can anyone help me?
    Thanks in advance
    Sudha

    hello
    i have attache my coding here
    see to it
    import java.io.*;
    import java.io.IOException;
    import java.net.*;
    import java.net.URL;
    import java.awt.*;
    import java.awt.image.*;
    import java.awt.event.*;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseMotionListener;
    import javax.swing.*;
    import javax.media.*;
    import javax.media.util.*;
    import javax.media.Buffer.*;
    import javax.media.format.*;
    import javax.media.Format;
    import javax.media.protocol.*;
    import javax.media.control.*;
    import javax.media.rtp.*;
    import javax.media.protocol.DataSource;
    import com.sun.media.ui.*;
    import javax.media.format.YUVFormat;
    import java.util.*;
    import java.util.Vector;
    import javax.imageio.*;
    import javax.imageio.stream.*;
    class capturing1 extends JInternalFrame implements ActionListener,MouseListener,MouseMotionListener,ControllerListener
    * The entry point of the example
    * @param args The command line arguments
         int mark_flg=0;
         int xpos=0,ypos=0;
         mdetect mde=new mdetect();
         protected boolean transitionOK;
         protected Object synchronizer;
         protected Processor processor;
         JButton mark;
         JButton track;
    capturing1(String fname)
    {     super(fname, true, true, true, true);
         getContentPane().setLayout( new BorderLayout() );
         setSize(320, 10);
         setLocation(50, 50);
         setVisible(true);
         processor = null;
    synchronizer = new Object();
    transitionOK = true;
         mark=new JButton("mark");
         track=new JButton("track");
         mark.setSize(25,25);
         track.setSize(25,25);
         mark.addActionListener(this);
         track.addActionListener(this);
         getContentPane().add("East", mark);
         //getContentPane().add("West", track);
         try {
         UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
         } catch (Exception e) {
         System.err.println("Could not initialize java.awt Metal lnf");
         Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, new Boolean(true));
         addMouseListener(this);
         addMouseMotionListener(this);
         loadAndStart(fname);
    public void loadAndStart(String fn)
    boolean status;
    status = loadFile(fn);
    if (status) status = configure();
         TrackControl tc[] = processor.getTrackControls();
         if (tc == null) {
                   System.err.println("Failed to obtain track controls from the processor.");
                   System.exit(0);
              // Search for the track control for the video track.
              TrackControl videoTrack = null;
              for (int i = 0; i < tc.length; i++) {
                   if (tc.getFormat() instanceof VideoFormat) {
                   videoTrack = tc[i];
                   break;
              if (videoTrack == null) {
                   System.err.println("The input media does not contain a video track.");
                   System.exit(0);
         try {
         Codec codec[] = {mde};
         videoTrack.setCodecChain(codec);
         } catch (UnsupportedPlugInException e) {
         System.err.println("The processor does not support effects.");
    if (status) status = realize();
    public boolean loadFile(String fn)
    boolean status;
    URL url;
         status = false;
         /*Vector v = CaptureDeviceManager.getDeviceList(new VideoFormat(
    VideoFormat.YUV));
    System.out.println(((CaptureDeviceInfo) v.get(0)).getName());
    try{
         MediaLocator ml = ((CaptureDeviceInfo) v.get(0)).getLocator();
    System.out.println(ml.toString());
         processor = Manager.createProcessor(ml);processor.addControllerListener(this);status = true;
    }catch(Exception e){
    System.err.println("Exception occured\n");
    e.printStackTrace();
         System.exit(0);
    try {
    url = new URL("file:"+
    System.getProperty("user.dir")+
    "/"+fn);
    if (url != null) {
    processor = Manager.createProcessor(url);
         processor.addControllerListener(this);
    status = true;
    } catch (NoProcessorException npe) {
    System.out.println("Unable to create a processor!");
    } catch (IOException ioe) {
    System.out.println("Unable to connect to source!");
    return status;
    public boolean configure()
    boolean status;
    status = false;
    // Put the Processor into the configured state
    processor.configure();
    if (waitFor(processor.Configured)) {               
    // Set the content descriptor to null so that the
    // processor can be used as a player
    processor.setContentDescriptor(null);
    status = true;
    } else {
    System.out.println("Unable to configure the processor!");
    return status;
    public boolean realize()
    boolean status;
    Component c;
    status = false;
    // Put the Processor into the realized state
    processor.prefetch();
    if (waitFor(processor.Prefetched)) {               
    // The Processor has been realized so the
    // components can be layed out
    c = processor.getVisualComponent();
    getContentPane().add("Center", c);
    c = processor.getControlPanelComponent();
    if (c != null)
              getContentPane().add("South", c);
    System.out.println("button added");
    // Start the Processor
              validate();System.out.println("button added");
    processor.start();
    status = true;
    } else {
    System.out.println("Unable to realize the processor!");
    return status;
    protected boolean waitFor(int state)
    // Make this block synchronized
    synchronized(synchronizer) {
    try {
    while ((processor.getState() != state) &&
    (transitionOK)) {
    synchronizer.wait();
    } catch (InterruptedException ie) {
    // Ignore it
    return transitionOK;
    public synchronized void controllerUpdate(ControllerEvent evt)
    if ( (evt instanceof ConfigureCompleteEvent) ||
    (evt instanceof RealizeCompleteEvent) ||
    (evt instanceof PrefetchCompleteEvent) ) {
    // Synchronize this block
    synchronized(synchronizer) {
    transitionOK = true;
    synchronizer.notifyAll();
    } else if (evt instanceof ResourceUnavailableEvent) {
    // Synchronize this block
    synchronized(synchronizer) {
    transitionOK = false;
    synchronizer.notifyAll();
    public void mouseMoved(MouseEvent e) {
    //saySomething("Mouse moved", e);
    public void mouseDragged(MouseEvent e) {
    saySomething("Mouse dragged", e);
    public void mousePressed(MouseEvent e) {
    //saySomething("Mouse pressed; # of clicks: "
    // + e.getClickCount(), e);
    public void mouseReleased(MouseEvent e) {
    //saySomething("Mouse released; # of clicks: "
    // + e.getClickCount(), e);
    public void mouseEntered(MouseEvent e) {
    //saySomething("Mouse entered", e);
    public void mouseExited(MouseEvent e) {
    //saySomething("Mouse exited", e);
    public void mouseClicked(MouseEvent e) {
    saySomething("Mouse clicked (# of clicks: "
    + e.getClickCount() + ")", e);
         xpos=e.getX(); ypos=e.getY();
    void saySomething(String eventDescription, MouseEvent e) {
         System.out.println("The Object is at the point "+"x ,"+e.getX()+ "y" + e.getY());
         if(mark_flg==1){
         mdetect.markObject(xpos,ypos);
         //mark_flg=0;
    public void actionPerformed(ActionEvent e)
         if(e.getSource()==track)
              System.out.println("track pressed");
              processor.start();
         if(e.getSource()==mark)
              mark_flg=1;//processor.stop();
              System.out.println("mark pressed");
    public class track extends Frame
    {     JDesktopPane desktop;
    public track(String f)
         setLayout( new BorderLayout() );
         desktop = new JDesktopPane();
         desktop.setDoubleBuffered(true);
         add("Center", desktop);
         setSize(640, 480);
         capturing1 cap1=new capturing1(f);
         desktop.add(cap1);
         setVisible(true);
    public static void main(String args[])
    new track(args[0]);
    /****************************** mdetect class**********************************************/
    class mdetect implements Effect
         //Processor processor;
    static boolean marked=true; static int mark_flg=0; int a=1;
    static int xpos=0,ypos=0;
    private Format inputFormat;
    private Format outputFormat;
    private Format[] inputFormats;
    private Format[] outputFormats;
    private int[] bwPixels;
    private byte[] bwData;
    private RGBFormat vfIn = null;
    private static int imageWidth = 0;
    private int imageHeight = 0;
    private int imageArea = 0;
    static int[] p1;
    mdetect()
    System.out.println("mdetect called");
    inputFormats = new Format[] {
    new RGBFormat(null,
    Format.NOT_SPECIFIED,
    Format.byteArray,
    Format.NOT_SPECIFIED,
                                  24,
    3, 2, 1,
    3, Format.NOT_SPECIFIED,
    Format.TRUE,
    Format.NOT_SPECIFIED)
    outputFormats = new Format[] {
    new RGBFormat(null,
    Format.NOT_SPECIFIED,
    Format.byteArray,
    Format.NOT_SPECIFIED,
                                  24,
    3, 2, 1,
    3, Format.NOT_SPECIFIED,
    Format.TRUE,
    Format.NOT_SPECIFIED)
         public Format[] getSupportedInputFormats() {
    return inputFormats;
         public Format [] getSupportedOutputFormats(Format input) {
    if (input == null) {
    return outputFormats;
    if (matches(input, inputFormats) != null) {
    return new Format[] { outputFormats[0].intersects(input) };
    } else {
    return new Format[0];
         public Format setInputFormat(Format input) {
    inputFormat = input;
         return input;
         public Format setOutputFormat(Format output) {
    if (output == null || matches(output, outputFormats) == null)
    return null;
    RGBFormat incoming = (RGBFormat) output;
    Dimension size = incoming.getSize();
    int maxDataLength = incoming.getMaxDataLength();
    int lineStride = incoming.getLineStride();
    float frameRate = incoming.getFrameRate();
    int flipped = incoming.getFlipped();
    int endian = incoming.getEndian();
    if (size == null)
    return null;
    if (maxDataLength < size.width * size.height * 3)
    maxDataLength = size.width * size.height * 3;
    if (lineStride < size.width * 3)
    lineStride = size.width * 3;
    if (flipped != Format.FALSE)
    flipped = Format.FALSE;
    outputFormat = outputFormats[0].intersects(new RGBFormat(size,
    maxDataLength,
    null,
    frameRate,
    Format.NOT_SPECIFIED,
    Format.NOT_SPECIFIED,
    Format.NOT_SPECIFIED,
    Format.NOT_SPECIFIED,
    Format.NOT_SPECIFIED,
    lineStride,
    Format.NOT_SPECIFIED,
    Format.NOT_SPECIFIED));
    return outputFormat;
    public synchronized int process(Buffer inBuffer, Buffer outBuffer) {
         int i=0;
         a++;
              //System.out.println("discard buffer"+inBuffer.isEOM());
              //System.out.println("w n h");
              //System.out.println("w"+size.width+"h"+size.height);
              //System.out.println("format"+inBuffer.getFormat());
              //System.out.println("RGB"+outImage.getRGB(3,3));
              //Graphics og = outImage.getGraphics();
              //og.drawImage(stopImage, 0, 0, size.width, size.height, null);
              vfIn = (RGBFormat) inBuffer.getFormat();
         Dimension size = vfIn.getSize();
              if(inBuffer.isEOM()==false)
              BufferToImage stopBuffer = new BufferToImage((VideoFormat) inBuffer.getFormat());
              Image stopImage = stopBuffer.createImage( inBuffer);
              BufferedImage outImage = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_RGB);
              if(a==6)
              PictureButton.but(stopImage);
              System.out.println("stop image called");
              //cut
    /*if(a<0)
         for(int rr=0;rr<MAXROWS;rr++)
              for(int cc=0;cc<MAXCOLS;cc++)
                   System.out.print(PixelArray[rr][cc]+" ");
         System.out.println("@");
    a=0;
         int outputDataLength = ((VideoFormat)outputFormat).getMaxDataLength();
    validateByteArraySize(outBuffer, outputDataLength);
    outBuffer.setLength(outputDataLength);
    outBuffer.setFormat(outputFormat);
    outBuffer.setFlags(inBuffer.getFlags());
         byte [] inData = (byte[]) inBuffer.getData();
    byte [] outData =(byte[]) outBuffer.getData();
         Object data = inBuffer.getData();
    int pixStrideIn = vfIn.getPixelStride();
    int lineStrideIn = vfIn.getLineStride();
         imageWidth = (vfIn.getLineStride())/3; //Divide by 3 since each pixel has 3 colours.
         imageHeight = ((vfIn.getMaxDataLength())/3)/imageWidth;
         imageArea = imageWidth*imageHeight;
    int r=0,g=0,b = 0; //Red, green and blue values.
         System.arraycopy(inData,0,outData,0,outData.length);
         bwPixels = new int[outputDataLength/3] ;
         p1=new int[outputDataLength/3];int[] p=new int[outputDataLength/3];
         for (int ip = 0; ip < inData.length; ip+=3) {
              int bw = 0;
                   r = (int) inData[ip] ;
                   g = (int) inData[ip+1] ;
                   b = (int) inData[ip+2];
    bw = (int) ((r + b + g)/ (double) 3);
              p1[ip/3]=bw;
         return BUFFER_PROCESSED_OK;
         public String getName() {
    return "Motion Detection Codec";
    public void open() {
    public void close() {
    public void reset() {
         public Format matches(Format in, Format outs[]) {
         for (int i = 0; i < outs.length; i++) {
         if (in.matches(outs[i]))
              return outs[i];
         return null;
    public Object getControl(String controlType) {
    System.out.println(controlType);
         return null;
    public Object[] getControls() {
    return null;
    byte[] validateByteArraySize(Buffer buffer,int newSize) {
    Object objectArray=buffer.getData();
    byte[] typedArray;
    if (objectArray instanceof byte[]) {     // Has correct type and is not null
    typedArray=(byte[])objectArray;
    if (typedArray.length >= newSize ) { // Has sufficient capacity
    return typedArray;
    byte[] tempArray=new byte[newSize]; // Reallocate array
    System.arraycopy(typedArray,0,tempArray,0,typedArray.length);
    typedArray = tempArray;
    } else {
    typedArray = new byte[newSize];
    buffer.setData(typedArray);
    return typedArray;
    public static void markObject(int x,int y)
    marked=true;
    xpos=x; ypos=y;
    /* int j =0, m=0,n=0;
    int total = p1.length; int col = imageWidth; //int row = imageHeight;
    int[][] twodim = new int[total/col][col];
    System.out.println("p1 arr"+p1.length+","+twodim.length+"col"+col);
    for(j=0;j<total;j++)
    twodim[n][m] = p1[j];
    System.out.print( twodim[n][m]+" ");
    m++;
    if( m ==col)
    m=0; n++;
    System.out.println("@"+n);
    System.out.println("m"+m+"n"+n);*/
    public int markObject()
    //System.out.println("boolean mark called");
    mark_flg=1;
    return mark_flg;
    /*****************************************end of mdetect class*****************************************************/
    /*********************************** Image Icon class ****************************************************************/
    class PictureButton extends JFrame implements MouseMotionListener,MouseListener{
    static Image image;Icon icon2;JButton button2=new JButton("hi"); int[] pixels; Container content;
    public PictureButton(Image img ) {
    super("PictureButton v1.0");
    setSize(200, 200);
    setLocation(200, 200);
    Icon icon = new ImageIcon(img);
    JButton button = new JButton(icon);
         button.addMouseMotionListener(this);
         button.addMouseListener(this);
    button.addActionListener(new ActionListener( ) {
    public void actionPerformed(ActionEvent ae) {
    System.out.println("Urp!");
    content = getContentPane( );
    content.setLayout(new FlowLayout( ));
    content.add(button);
         //content.add(button2);
    public static void but(Image im) {
         image=im;
    JFrame f = new PictureButton(im );
    f.addWindowListener(new WindowAdapter( ) {
    public void windowClosing(WindowEvent we) { System.exit(0); }
    f.setVisible(true);
    public void mouseMoved(MouseEvent e) {
    //saySomething("Mouse moved", e);
    public void mouseDragged(MouseEvent e) {
    saySomething("Mouse dragged", e);
    public void mousePressed(MouseEvent e) {
    //saySomething("Mouse pressed; # of clicks: "
    // + e.getClickCount(), e);
    public void mouseReleased(MouseEvent e) {
    //saySomething("Mouse released; # of clicks: "
    // + e.getClickCount(), e);
    public void mouseEntered(MouseEvent e) {
    //saySomething("Mouse entered", e);
    public void mouseExited(MouseEvent e) {
    //saySomething("Mouse exited", e);
    public void mouseClicked(MouseEvent e) {
    saySomething("Mouse clicked (# of clicks: "
    + e.getClickCount() + ")", e);
    void saySomething(String eventDescription, MouseEvent e) {
    int w=0;int ind=0;
         System.out.println("The Object is at the point "+"x ,"+e.getX()+ "y" + e.getY());
         int[][][] imagePixels = imageIO.loadImage(image);
              final int MAXROWS = imagePixels.length;
              final int MAXCOLS = imagePixels[0].length;
              int[][] PixelArray = new int[MAXROWS][MAXCOLS];
              pixels=new int[MAXROWS*MAXCOLS];
              int cnt=0;
              int pix=0,pix1=0;
    for(int row=0; row<imagePixels.length; row++) {
    for(int col=0; col<imagePixels[0].length; col++) {
    for(int rgbo=0; rgbo<4; rgbo++) {
                   if((cnt<3)&&(rgbo<3))
    w++;
                   pix=pix+imagePixels[row][col][rgbo];
                   cnt++;
                   else
                   {cnt=0;}
    } // for rgbo
    pix1 = pix/3;
    pix = 0;
                   /*if(col<97)
                   {pix1=(byte)192;}*/
    PixelArray[row][col] = pix1;
                   System.out.print(pix1+" ");
    } // for col
                   System.out.println("@");
    } // for row
         System.out.println("pix arr"+PixelArray.length);
         for(int ww=0;ww<MAXROWS;ww++)
         for(int hh=0;hh<MAXCOLS;hh++)
         pixels[ind++]=PixelArray[ww][hh];
         image = createImage (new MemoryImageSource( MAXROWS,MAXCOLS, pixels, 0, MAXROWS));
         System.out.println(" img added");
    /********************************* end of Image Icon class**********************************************************/
    this program will capture the video n play
    if u click on the mark button processor will be stopped
    u can click on the image and get the mouse co-ordinates
    i have also got the pixel values of the current frame at which u had clicked the mark button..do some manipulation on the pixels to get ur stuff work
    hope this will help u in some way
    regards
    sudha

  • Processor doesn't work correctly in saving stream to file

    hi,
    i write this code for saving in a file video and audio from a web cam, but when i do p.getDataOuput it returns always null. Why? help me
      public void setupvideocapture()
      c=getContentPane();
      c.setLayout(new FlowLayout());
      try
        try {
          p = Manager.createProcessor(new MediaLocator("vfw://0"));
        } catch (Exception e) {
          System.err.println("Impossibile creare il processor!" + e);
        p.addControllerListener(this);
        p.configure();
        waitForState(p.Configured);
        p.setContentDescriptor(null);
        p.realize();
        waitForState(p.Realized);
        p.prefetch();
        waitForState(p.Prefetched);
        c.add(p.getVisualComponent());
        if ((dest = new MediaLocator("file:"+"foo.mov")) == null)   System.err.println("Impossibile costruire MediaLocator "  + "dalla url: " + dest);
        try {source = Manager.createDataSource(dest);
        } catch (Exception e) {
          System.err.println("Impossibile creare Datasource da: "+ dest);
          System.err.println("Eccezione: "+e);}
      catch(Exception e)
        System.out.println(e);
    public void actionPerformed(ActionEvent ae)
        String str;
        str=ae.getActionCommand();
        if(str=="Play")
          try
           p.start();
            System.out.println(p);
            source=p.getDataOutput();
            System.out.println(source);
            sink = Manager.createDataSink(source,dest);
            dataSinkListener = new MyDataSinkListener();
            sink.addDataSinkListener(dataSinkListener);
            sink.open();
            sink.start();
          } catch (Exception e) {e.printStackTrace();
      else if(str=="Stop")
        try
          sink.stop();
          dataSinkListener.waitEndOfStream(0);
          sink.close();
          p.stop();
          p.close();
      catch(Exception e)
      {e.printStackTrace();
    }

    hi,
    i write this code for saving in a file video and audio from a web cam, but when i do p.getDataOuput it returns always null. Why? help me
      public void setupvideocapture()
      c=getContentPane();
      c.setLayout(new FlowLayout());
      try
        try {
          p = Manager.createProcessor(new MediaLocator("vfw://0"));
        } catch (Exception e) {
          System.err.println("Impossibile creare il processor!" + e);
        p.addControllerListener(this);
        p.configure();
        waitForState(p.Configured);
        p.setContentDescriptor(null);
        p.realize();
        waitForState(p.Realized);
        p.prefetch();
        waitForState(p.Prefetched);
        c.add(p.getVisualComponent());
        if ((dest = new MediaLocator("file:"+"foo.mov")) == null)   System.err.println("Impossibile costruire MediaLocator "  + "dalla url: " + dest);
        try {source = Manager.createDataSource(dest);
        } catch (Exception e) {
          System.err.println("Impossibile creare Datasource da: "+ dest);
          System.err.println("Eccezione: "+e);}
      catch(Exception e)
        System.out.println(e);
    public void actionPerformed(ActionEvent ae)
        String str;
        str=ae.getActionCommand();
        if(str=="Play")
          try
           p.start();
            System.out.println(p);
            source=p.getDataOutput();
            System.out.println(source);
            sink = Manager.createDataSink(source,dest);
            dataSinkListener = new MyDataSinkListener();
            sink.addDataSinkListener(dataSinkListener);
            sink.open();
            sink.start();
          } catch (Exception e) {e.printStackTrace();
      else if(str=="Stop")
        try
          sink.stop();
          dataSinkListener.waitEndOfStream(0);
          sink.close();
          p.stop();
          p.close();
      catch(Exception e)
      {e.printStackTrace();
    }

  • 2 DataSource from a Processor

    Hi all, does someone know why when i try to get 2 datasource from a processor, only the second seems to work?
    I want to duplicate the image of the webcam on the frame.
    //Choose the format and processor model
    Format[] format = new Format[1];
    format[0] = new VideoFormat(VideoFormat.RGB);
    FileTypeDescriptor outType = new FileTypeDescriptor(FileTypeDescriptor.RAW);
    //create processor
    processorV = Manager.createRealizedProcessor(new ProcessorModel(format, outType));
    processorV.setContentDescriptor(outType);                                              
    processorV.start(); then
    //Processor --> Datasource
    dataSourceVlocal = processorV.getDataOutput();
    //Create a player for the local_video
    pLocalVideo = Manager.createRealizedPlayer(dataSourceVlocal);
    visual = pLocalVideo.getVisualComponent();
    visual.setLocation(0, 0);
    visual.setSize(320, 240);
    pLocalVideo.start();
    jFrameMain.add(visual);
    //Processor --> Datasource       
    dataSourceVlocal2 = processorV.getDataOutput();
    //Create a player for the local_video       
    pLocalVideo2 = Manager.createRealizedPlayer(dataSourceVlocal2);
    visual2 = pLocalVideo2.getVisualComponent();
    visual2.setLocation(320, 0);
    visual2.setSize(320, 240);
    pLocalVideo2.start();
    jFrameMain.add(visual2);thanks in advance

    HI klschoef
    I'm doing almost same thing as you did, but i got a big problem ,when i start the sendstream"sendstream.start();", but it seems no UDP packet has been sent, so my client-side always wating on the receive , please tell me how to solve this problem

  • Processor as Player

    Hello,
    i'm still trying to solve the problem of playing a mpg-video with a
    processor as player, which runs slower then in "normal" programs.
    Can anyone please try the following code with a mpg-video and his results?
    (I'm using the video from( http://www.spitzenkick.de/cgi_bin/counter.php4?id33=1)
    Looks the code right?
    Thanks
    AB
    ... code ...
    import java.awt.BorderLayout;
    import java.io.IOException;
    import javax.media.Codec;
    import javax.media.ConfigureCompleteEvent;
    import javax.media.ControllerEvent;
    import javax.media.ControllerListener;
    import javax.media.Manager;
    import javax.media.MediaLocator;
    import javax.media.NoProcessorException;
    import javax.media.Player;
    import javax.media.Processor;
    import javax.media.RealizeCompleteEvent;
    import javax.media.control.TrackControl;
    import javax.media.format.VideoFormat;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class TrackingProcessor implements ControllerListener {
    /** Containing the processor object. */
    private Processor proc;
    /** Containing the player of this object processor. */
    private Player player;
    private JPanel videoPanel;
    public TrackingProcessor(String path) {
    videoPanel = new JPanel();
    JFrame frame = new JFrame("JMFtest");
    frame.getContentPane().add(videoPanel);
    try {
    proc = Manager.createProcessor(new MediaLocator(path));
    } catch (NoProcessorException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    proc.addControllerListener(this);
    proc.configure();
    frame.setSize(300, 300);
    frame.setVisible(true);
    public void controllerUpdate(ControllerEvent event) {
    if (event instanceof ConfigureCompleteEvent){
    System.out.println("configure");
    TrackControl tracks[] = proc.getTrackControls();
    for(int i = 0; i<tracks.length; i++){
    if (tracks.getFormat() instanceof VideoFormat){
    Codec[] videocodec = new Codec[]{
    new com.sun.media.codec.video.cinepak.JavaDecoder(),
    try {
    tracks[i].setCodecChain(videocodec);
    } catch (Exception e) {
    e.printStackTrace();
    }else{
    tracks[i].setEnabled(false);
    proc.realize();
    } else if (event instanceof RealizeCompleteEvent){
    System.out.println("realize");
    try {
    player = Manager.createRealizedPlayer(proc.getDataOutput());
    } catch (Exception e) {
    e.printStackTrace();
    videoPanel.add(player.getVisualComponent(),BorderLayout.CENTER);
    videoPanel.add(player.getControlPanelComponent(), BorderLayout.SOUTH);
    videoPanel.updateUI();
    player.start();
    proc.start();
    public static void main(String args[]) {
    new TrackingProcessor("file:/d:/workspace/diplom2/test.mpg");

    A zombie thread revived.
    I tried the answer that you gave, but it didn't have any results.
    i do:
    processor.configure();
    processor.setContentDescriptor(null);
    processor.realize();
    processor.play();
    I'm trying to play a .mp3 file, with no luck at all. So I tried to play a .wav file, but the problem remained.
    The message i get is:
    " Unable to handle format: mpeglayer3, 44100.0 Hz, 16-bit, Stereo, LittleEndian,
    Signed, 16000.0 frame rate, FrameSize=32768 bits
    Failed to realize: com.sun.media.ProcessEngine@bd0108
    Error: Unable to realize com.sun.media.ProcessEngine@bd0108"
    To be precise, the program never goes past
    processor.realize();
    Can anyone help?
    Thanks,
    George

  • Cannot prefetch a player / processor using Fobs4JMF

    Hello,
    I am desperately trying to convert my video into BufferedImage's for each frame. The common code for all methods I've found, is to prefetch the player and then do some sort of operation on it.
    I am unable to transition my player or processor into a prefetched state:
    MediaLocator ml = new MediaLocator("file:C:/test.mov");
    Player p = Manager.createRealizedPlayer(Manager.createDataSource(ml));
    //transition to prefetched
    p.prefetch();
    if (!waitForState(p, Processor.Prefetched)) {
       System.err.println("Failed to realize the processor.");
    }This code hangs indefinitely waiting for the state to transition.
    The code hangs the same for "createPlayer" and "createProcessor."
    The output for above is the following:
    Fobs4JMF - Native shared library found
    3.63697First Position: 0, 0 Duration: 3636
    Frame Rate: 29.97
    Opening Thread[JMF thread: com.sun.media.PlaybackEngine@6f50a8[ com.sun.media.PlaybackEngine@6f50a8 ] ( configureThread),9,system]
    Fobs Java2DRenderer: setInputFormat
    Fobs Java2DRenderer: setInputFormat
    Audio Error: Generic error
    Note that this video can be opened and played without any complication with the JMStudio bundled with the Fobs4JMF package. Also note that a call to "p.start()" actually starts the video without error and I hear the soundtrack playing although when adding each component to a JFrame, I do not actually see the video (could be a clue?):
    p.start();         
    JFrame f = new JFrame();
    f.add(p.getVisualComponent());
    f.add(p.getControlPanelComponent());
    f.pack();
    f.setVisible(true);I am using Fobs4JMF v0.4.1, JMF v2.1.1e, JRE 1.6.0_05, Eclipse v3.3.2 and Windows Vista. My video file is an MOV AVC1 which I think is pretty standard. You can downloaded it here: [test.mov|http://gemident.com/fobs/test.mov] in case you think that may be the source of my woes.
    Any help would be greatly appreciated.
    Thanks,
    Adam
    Lead Engineer, www.gemident.com
    Stanford University

    Well, first off... again, as I've said before to you in other threads...There's absolutely no reason to call "prefetch" manually for anything other than performance enhancements. Players will call "prefetch" on themselves as necessary once they are in a realized state, and you make a request for some data. "Prefetch" is quite useless, really, and is VERY SLOW. It's only useful in situations where you're doing useful work in the foreground while you prefetch in the background.
    Second, if you're in a realized state, you've already prefetched and are ready to start playing. Absolutely no reason to call prefetch on a realized processor/player. It's a bit like calling GoThroughPuberty() on a college kid. No need for it again, it's already been done...
    Finally, if you're throwing a generic audio error, I'd just use a Processor as a player and program it to disable all of the audio tracks...
    /* Create the media locator */
    MediaLocator ml = new MediaLocator("file:C:/Users/kapelner/Desktop/test.mov");
    /* Create the data source */
    DataSource ds = Manager.createDataSource(ml);
    /* Create our processor */
    Processor p = Manager.createProcessor(ds);
    /* Configure our processor */
    p.configure();
    while (p.getState() != Processor.Configured) {
        Thread.currentThread().sleep(500);
        System.err.println("Waiting 500 ms for the processor to configure...");
    /* Make the processor a player */
    p.setContentDescriptor(null);
    /* Program the tracks */
    TrackControl tcs[] = p.getTrackControls();
    for (int i = 0; i < tcs.length; i++) {
        tcs.setEnabled(tcs.getFormat() instanceof VideoFormat);
    /* Realize our processor */
    p.realize();
    while (p.getState() != Processor.Realized) {
    Thread.currentThread().sleep(200);
    System.err.println("Waiting 500 ms for the processor to realize...");
    /* Create the positioner */
    FramePositioningControl fpc = FramePositioningControl)p.getControl("javax.media.control.FramePositioningControl");
    /* Create the grabber */
    FrameGrabbingControl fg = (FrameGrabbingControl)p.getControl("javax.media.control.FrameGrabbingControl");
    /* Grab the first 10 frames */
    for (int i = 0; i < 10; i++) {
    /* Do the frame seek */
    fpc.seek(15);
    /* Grab the current frame as a buffer */
    Buffer buf = fg.grabFrame();
    /* Determine the format of the frame */
    VideoFormat vf = (VideoFormat) buf.getFormat();
    /* Initialize our BufferToImage */
    BufferToImage bufferToImage =
    new BufferToImage(vf);
    /* Create the image */
    Image im = bufferToImage.createImage(buf);
    // Do whatever you want with the image

  • Image Processor Tab Missing in New Adobe Bridge CC 2014

    In the new Bridge CC you used to have a TAB under tools called Photoshop which you could run the script Image Processor for easily processing jpegs. What has happened to this and is their maybe a new way of processing jpegs to lo-res that I dont know about from tiff or jpeg or does my bridge have a problem?
    I have attached a image grab from my bridge that shows that the tab is not there. I know that you can access image processor directly from Photoshop, but they used to always be linked.

    No, it is still in Bridge CC.
    Did you uninstall Photoshop CC after installing Photoshop CC 2014? If so, that may have removed some of the Bridge integration scripts by mistake. Re-installing Photoshop CC 2014 should replace the scripts.
    and it should give the image processor tab back

  • Problem with Adobe BRIDGE getting Photoshop/Image Processor menu

    When I open my drop-down or fly-out menu under TOOLS in Bridge (CS3 version), the entire portion of the menu which is supposed to appear next underneath the Cache line option is missing (i.e., Photoshop, Illustrator, InDesign, Start Meeting..., Photoshop services).
    What gives?
    I'm trying to get to Image Processor under the Photoshop menu option (which is supposed to appear in the Tools drop-down menu).
    Please tell me what's wrong. Thanks in advance.

    Thanks, but there IS no Photoshop subheading in my Tools menu.
    That exactly describes the problem I'm having!

  • Image Processor not working in CS 5

    I have installed CS5 Design Premium on my Mac Pro at work. (Had installed the education demo, but it turns out my school doesn't fit Adobe's critereon for eligibility - and doesn't take it back after telling you that) although we have qualified for years, and we education people in 14 countries are are the top school in the world on our subject. No biggie, the upgrade's only $50 more with the NAPP discount.
    But at home it installed just fine on my Mac Pro and works great. But at work, where CS4 works flawlessly, I can't get it to run Image Processor from Bridge, or import photos into Photoshop Layers, it does do Photomerge, but it also does not do HDR PRo.
    Before the settings wouldn't stick in image processor, and I fixed the issue by changing permissions on the Photoshop settings folder in my user account. Now settings stick for Image Processor, but when I tell it to process a set of images, it keeps coming up with a dialog saying "Sorry, I could not process the following files..." and then gives a list of each file with it's the path.
    I'm wondering if the javascrpits running this process are broken, or have permission problems. (Image Processor, HDR Pro, etc.)
    If in Bridge, I seelct Tools->Photoshop->Batch, it gives me an error dialog: "FatalError: General Photoshop error occurred. This functionality may not be available in this version of Photoshop. <No additional Information Available>"
    I rely on Photoshop for a very large portion of my work. And that includes processing thousands of images. I cannot see how this problem is unique to me. Is anyone else having this problem? Is there a fix? Am I stuck with CS4 for automation? BTW, I can use Applescripts to automate Photoshop CS5. How wierd is that? Scripts I wrote work, but built-in ones appear to be broken on this machine.
    Additional information: I'm on a Windows network using Active Directory and my company user account while this is happening. Where it works at home, it's just my own Mac running OS X 10.6.4. I have all the latest CS5 updates installed.

    But all the
    files that are in my home directory (Snow Leopard 10.6.5) give that error.
    Do you have a beta of Snow Leopard, to my best knowledge 10.6.4 is the
    latest version??
    I'm going to format
    the drive on Monday and restore my system from Backup and see what that does.
    First try the uninstall CS5 suite using the uninstaller that is in each
    application folder. Also erase your serial number from computer and run the
    clean script:
    http://www.adobe.com/support/contact/cs5clean.html
    It is useless to reformat and after that reinstall from Back Up when you
    also re install the current preferences, highly likely you will end up with
    the same problem because you copied the old prefs again

  • Acmcneill1ug 14, 2014 7:16 AM I have IMac OSX 10.9.4, 4GB,Processor 3.06 with Intell2Duo. I would like to check for Malware. I run a TechTool Pro 6 every month and that comes up great. When check how much memory I am using, with only Safar

    Acmcneill1ug 14, 2014 7:16 AM
    I have IMac OSX 10.9.4, 4GB,Processor 3.06 with Intell2Duo. I would like to check for Malware. I run a TechTool Pro 6 every month and that comes up great.
    When check how much memory I am using, with only Safari open I am using 3.9 and more of her 4.0 memory. She is very. very slow in processing. I had 4000
    trash to clean out and it took her over an hour to expel. Also for some reason Safari will not allow me to click on a link, in my G-mail, and let it go to the page.
    It has a sign saying a pop-up blocker is on and will not let me do it. I must open the stamp to look at my e-mails and if I have redirected link now I can do it.
    I have not changed my preferences so where is this pop-up blocker?
    I have looked at preferences on Safari and Google, which I do not understand Google, and do not see where this blocker could be.
    Malware is something I want to make sure is not on my computer. Tech Tool Pro 6 is all I know of and it does not detect Malware.
    Help.
    Ceil

    Try Thomas Reed's Adware removal tool. He posts extensively in the communities.
    Malware Guide - Adware
    Malware Discussion

  • Upgrade G3 B&W and G4 Single Processor from OS 9.2.1 to 10.4 Tiger?

    I Purchased a G4 Installation / restore disk OS 10.4......Used an external DVD drive and disk opens fine on both machines, but when I click on install, both machines give me the following error message (even if I use the "C" key on startup..."startup disk was unable to select the install CD as the startup disk (-2)....There is no support for OS 9 or it's related browsers on the internet, and I use both my G3 (home) and G4 (business)....I need to have access to the internet in both locations. Would someone kindly give me some advice on how to upgrade to OS 10.4.......drivers?.......use external Hard drive? Many thanks in advance......

    Hi Limnos......Many thanks for the info...good stuff. As it turns out, my G3 B&W is a server version and was given to me by a company that I worked for until they moved to northern (brrr) Wisconsin. It has two SCSI cards, one of them the LVD -2 ADPT card. Thanks to you I have already installed the firmware on the card. Some of the info on trhe G3 suggests that I need to be running O.S. 8.6 to upgrade to O.S. X???? I have been running O.S.9.2.1 for years but Comcast, E- Bay and half the rest of the world out there no longer supports Browsers, etc. for O.S. 9....Why would I need 8 when I have 9.2.1.that doesn't make much sense. This computer IMHO was way ahead of it's time and cost the company that gave it to me something in the neighborhood of $2700.00 when they bought it new! It has two firewire ports along with USB and the SCSI
    cards and SCSI hard drive.....It is a great computer, and the only reason that I never tried to upgrade to O.S.10
    sooner is the fact that it has been rock solid reliable running 9.2.1, and I kept hearing about "glitches going on with the early versions of O.S.10." You know how that one goes..."If it ain't broke, don't try to fix it". I had Adelphia Cable Internet for quite a few years, and they supported O.S.9, but their tech people for the most part were clueless about the macs. I really need to get X on this machine!
    One final question...My G4 is a single processor 733 machine, and believe it or not was given to my son when it was only a year old! We didn't get an O.S. install disk with it, but the (gray) disk I just purchased IS
    a G4 (specific) install/ restore disk that according to many threads I've seen should work on my G4. I haven't been able to determine from the info you so kindly gave me if it needs a firmware update or not? There seem to be so many versions of the G4 that I'm not sure what category it fits into as far as firmware requirements are concerned........It has plenty of RAM and two firewire ports, but beyond that I'm puzzled. Thanks again!

  • How do I fix an access rights error when launching Image Processor in Adobe Bridge CC?

    Often when I am working on files and want to batch process Jpegs for clients I get an error message from Image Processor.  It will state "I am unable to create a file in this folder.  Please check your access rights to this location ...."
    I have cleared cache and up'd my history levels.  I checked to make sure the files were not locked and read/write was enabled.  I am not sure why this error keeps occurring.  I am using Adobe Photoshop CC 2014 (2014.2.2 release) with Adobe Bridge CC (6.1.0.115)

    It's an endless circle.
    See if these instructions help: iTunes repeatedly prompts to authorize computer to play iTunes Store purchases

  • Problem using Image Processor from Bridge

    I have been using the Image Processor to process photos from Bridge for quite some time. However, I recently received an error message when I try to initiate Image Processor from Bridge and I have not been able to find any help topics that address my problem: I select images in Bridge to process, then click "Tools>Photoshop>Image Processor". Photoshop opens and the familiar Image Processor dialog box opens. Item 1 in the dialog box says "Process files from Bridge only" and has the number of files I have selected in parenteses. I select the file type and other settings in #3, and preferences in #4. When I click "Run", I get an error message window that says: "Script Alert. There were no source files that could be opened by Photoshop". The Image Processor works if I open the files in Photoshop first, then run it by selecting "File>Scripts>Image Processor" and tell it to process all open files.
    Would someone be able to help me with this problem?
    Thanks, Larry

    Usually when it worked before and not now, and you have added no new software or hardware I recommend resetting the preferences.  Hold down the Ctrl key and click on the Bridge icon to start.  You should get a reset window with 3 options.

  • Adobe Photoshop CS3 Image Processor not converting files to sRGB Profile

    I have been experiencing a problem with Photoshop CS3 Image Processor no longer converting profiles to sRGB.   It converts all of the files from Camera Raw to JPEG, but not sRGB as well.  I used to be able to batch convert an entire folder of RAW images to JPEG, sRGB through the Image Processor.
    My Photoshop CS3 Working Space is Adobe RGB (1998).  I need to convert an entire folder of images selected in Bridge to sRGB working space in order to publish a photo album from one of the on-line publishing companies.  I can open each individual Camera Raw file in Photoshop and convert each to JPEG, sRGB, but this takes a tremendous amount of time.
    The following procedure has worked for me in the past, but for some reason no longer works:
    I select the images in the desired Bridge CS3 folder.  Upper tool bar, "Tools" > "Photoshop" > "Image Processor".  In Image Processor:
    Section 1 - ""Process files from Bridge only (11)"  Whether or not I place a checkmark by "Open first image to apply settings", it makes no difference in the outcome.
    Section 2:  "Save in same location"
    Section 3 - "Checkmark by "Save as JPEG, quality 12".  Also a checkmark by "Convert Profile to sRGB"
    Section 4 - Checkmark by "Include ICC Profile"
    I replaced my iMac one month ago and reinstalled Photoshop CS3, but this Image Processor problem had been occurring even with my old computer.
    Not sure if you need this information:
    I'm currently on Mac OS X Version 10.6.4
    Processor:  2.93 Ghz Intel Core i7
    Memory:  8 GB 1333 Mhz DDR3
    I don't know if it's related,  Photoshop CS3 on my old computer was running in Rosetta.  I don't know if it's running in Rosetta now, the name does not appear when Photoshop boots up.  How do I get it to run in Rosetta again?

    Heh heh heh.  It's always true that we find the answer just after making public our problems, which in turn we did after trying to find the problems ourselves for hours.
    Thanks for following up with the answer.
    -Noel

Maybe you are looking for

  • How to add check box in the ALV list

    dear Experts,              i have a requirement. i want show the check boxes in my ALV list. can u please give the solution. thanks

  • External USB sound device with SPDIF In?

    Hi all, I would like to know if Creative has any external USB sound cards with a SPDIF interface that works with Windows 7. I have an Extigy, and as I know it, it will not work with anything newer than XP. I need a USB card with SPDIF input to bridge

  • Thinkpad bluetooth mouse scrolling wheel not working in chrome only

    I have a lenovo V570c laptop with laser blue tooth mouse. I have windows 7 and I believe chrome did an upgrade last week and since then my mouse wheel does not scroll when in chrome browser. It works on internet explorer, ms office etc. on the chrome

  • Google Apps with Mac OS X Server configured clients?

    Hi experts, I'm considering a Mac Mini Server for file sharing and running as a server for a custom office application (MacPractice), but I'm uncertain how this would work with Google Apps that we're using today. Specifically, we have a few iMacs tha

  • Help : My iPad 2 Software Crashed.

    Hello Guys. Okay, I updated my iPad 2 Software to iOS 5 Then Updated to iOS 5.1 And When it Was installing iOS 5.1 it stack, for like 5 hours so, I restarted my iPad After I Restarted it, the iPad shows the message "Connect Your iPad To iTunes" And i