Failed to realize

I am trying to download a mp3 content from a server using JMStudio but keep 'Failed to realize' message in the JMStudio. I captured the traffic and noticed that the Client send DESCRIBE request and the server replies with SDP content but then the client does not do anything and sends a FIN after a minute. Below is the TCP Stream:
DESCRIBE rtsp://172.21.112.20/demo/content/KabhiKabhi.mp3 RTSP/1.0
CSeq: 971
Accept: application/sdp
User-Agent: JMF RTSP Player Version 2.1.1e
RTSP/1.0 200 OK, Success
Session: 753125716
CSeq: 2
Date: Sun, 14 Aug 2005 11:45:17 EEST
Content-base: rtsp://172.21.112.20:8081/demo/content/KabhiKabhi.mp3/
Content-Type: application/sdp
Content-Length: 422
v=0
s=<No title>
o=- 1023412951 1023412951 IN IP4 172.21.112.20
c=IN IP4 0.0.0.0
t=0 0
a=SdpplinVersion:1610645287
a=DefaultLicenseValue:integer;1
a=IsRealDataType:integer;0
a=FileType:string;"QuickTime"
i=<No author> <No copyright>
a=range:npt=0-51.051000
a=ASMRuleBook:string;"Marker=0,AverageBandwidth=15809,TimeStampDelivery=TRUE;"
a=StreamCount:integer;1
m=audio 2000 RTP/AVP 96
a=control:streamid=0
a=rtpmap:96 x-qt
Can anyone please provide some hints on what is going wrong.
Any suggestions are welcome.
Br
Praveen

Sorry for not being that clear yesterday, but I didn�t really understand the problem. I have now sorted it though, so it�s ok.
In my app, I have a JTree containing File objects, representing a directory structure of folders and mp3 files. The idea is to play whatever file is selected.
The problem was that I had a TreeSelectionListener that would place the selected file. This was fine, if only one file was selected. But as I merrily drag my mouse across the tree, a number of files were selected at once. I believe the player got overloaded, and so now I play the selected file(s) on mouse release and only if there is at least one file selected.
However, I have now found another place the error seems to inhabit.
I also wish to use a JFileChooser to load and save mp3 file.
Loading is the easy part, but it doesn�t seem to save correctly.
Here is my code to save:
     public void saveTo(File to) throws
     FileNotFoundException,IOException
          // Create channel on the source
     FileChannel src = new FileInputStream(file).getChannel();
     // Create channel on the destination
     FileChannel dest = new FileOutputStream(to).getChannel();
     // Copy file contents from source to destination
     dest.transferFrom(src, 0, src.size());
     // Close the channels
     src.close();
     dest.close();
However, this seems to save an object and not an exact copy of the mp3 file (file).
Does anyone know how to make an exact copy, with the exact format, of an mp3 file?
Any help would be greatly appreciated.
Thanks
Luke

Similar Messages

  • Running SimplePlayerApplet & TVApplet from JSP: Failed to Realize

    Hi All,
    Neither of the example of SimplePlayerApplet & TVApplet is running from an JSP.
    The stack track on the Java Console goes like :
    FATAL ERROR: Failed to realize: failed to parse the input media.
    Exception in thread "JMF thread: SendEventQueue: com.sun.media.content.unknown.Handler" java.lang.Error: Failed to realize: failed to parse the input media.
    at SimplePlayerApplet.Fatal(SimplePlayerApplet.java:220)
    at SimplePlayerApplet.controllerUpdate(SimplePlayerApplet.java:210)
    at com.sun.media.BasicController.dispatchEvent(BasicController.java:1254)
    at com.sun.media.SendEventQueue.processEvent(BasicController.java:1286)
    at com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:65)
    at com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)
    java.lang.NullPointerException
    at SimplePlayerApplet.destroy(SimplePlayerApplet.java:134)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    FATAL ERROR: Failed to realize: failed to parse the input media.
    Exception in thread "JMF thread: SendEventQueue: com.sun.media.content.unknown.Handler" java.lang.Error: Failed to realize: failed to parse the input media.
    at SimplePlayerApplet.Fatal(SimplePlayerApplet.java:220)
    at SimplePlayerApplet.controllerUpdate(SimplePlayerApplet.java:210)
    at com.sun.media.BasicController.dispatchEvent(BasicController.java:1254)
    at com.sun.media.SendEventQueue.processEvent(BasicController.java:1286)
    at com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:65)
    at com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)
    java.lang.NullPointerException
    at SimplePlayerApplet.destroy(SimplePlayerApplet.java:134)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    FATAL ERROR: Failed to realize: failed to parse the input media.
    Exception in thread "JMF thread: SendEventQueue: com.sun.media.content.unknown.Handler" java.lang.Error: Failed to realize: failed to parse the input media.
    at SimplePlayerApplet.Fatal(SimplePlayerApplet.java:220)
    at SimplePlayerApplet.controllerUpdate(SimplePlayerApplet.java:210)
    at com.sun.media.BasicController.dispatchEvent(BasicController.java:1254)
    at com.sun.media.SendEventQueue.processEvent(BasicController.java:1286)
    at com.sun.media.util.ThreadedEventQueue.dispatchEvents(ThreadedEventQueue.java:65)
    at com.sun.media.util.ThreadedEventQueue.run(ThreadedEventQueue.java:92)
    The media used in the Applet is an avi file and runs in all major Player.
    The code is same as in jmf examples, is there something special needed to run JMF in an Applet.
    Please reply as this would decide whether to use JMF in creating customized media player in a project.
    Thanks
    Shuvankar

    Can understand your concern but you will have to take call what is your use case and what you are ok with and what you are not ok with.
    "record" mode would automatically take care of file clean up - in sense that will overwrite data. But then if you consider "accidental" stop of your encoder and restart like you mentioned , if you wanted old data to be there - you will loose it with record option.
    Since you have Interactive edition - there are lots of ways you can handle it. One of the ways - is like you can use flag to decide whether its first publish to the application - if yes use record mode or else use append mode (but then again accidental unloading of application will reset the flag - but this ideally should be very rare if things are working fine on server-side unlike encoder restart which can be due to network)
    Please feel free to post again if you need any more help.

  • Spotlight mysteriously re-indexes after some failed searches?

    Well here's an odd one:
    About a week ago I had occasion to migrate a "standard" account from one Leopard computer to a fresh Leopard computer where it became the second account on the new machine (after the Admin account). This was done with Migration Assistant and completed without problems.
    The original account was inherited from a Tiger 10.4.10 installation on the old machine via a default, "upgrade", install of Leopard.
    Spotlight searches of the Home directory of that account worked just fine on the old machine. There is nothing in the Spotlight preferences Privacy list in either the old machine or the new machine. It may be relevant that the old machine was the Powerbook listed in my tag line below. The new machine is a Macbook. I've had no other Spotlight problems on either machine.
    Today I had occasion to search for a folder in the Home directory of this account on the new machine. To my surprise, it did not show in the results. OTHER stuff showed up, but not this folder.
    So I opened a Finder window and did a Command-f to bring up the search criteria and started playing around with search criteria (specifying "kind" = "folder" for example) to see if I could isolate the problem. Periodically I also retried searching in the regular Spotlight drop down to compare results. The upshot was that it seemed NOTHING in the Home directory of this migrated account had been indexed.
    And then, for no obvious reason, and about 5-10 minutes into poking around like this, I discovered Spotlight was "indexing". It had about 20 minutes of indexing to do.
    Again, I had not been doing anything in the Spotlight preferences -- just trying different search criteria in the Finder window. So why index now?
    When it finished indexing, searches for files or content in the Home directory of this account, either via the Finder window or the Spotlight drop down, all worked fine.
    NOW, why should Spotlight decide just at this moment to index this account? The account has been in heavy use on this machine for about week (although I had not had occasion to do searches in it).
    And the indexing didn't start until about 5-10 minutes into the search and re-search process trying to explore the limits of Spotlight's "blind spot".
    Does Spotlight fail to realize it needs to index a migrated account?
    Does Spotlight have some sort of fail safe mechanism where it revisits the need to index things after so many repeated searches or searches with no results?
    Mysterious indeed.
    --Bob

    Review the hits from a google search for socket(PF_ROUTE). IMO, something's blocking access, most likely mucked up permissions on the server; however, I don't muck with servers or AD and you might be better off perusing MS's forums for AD info.

  • Can not realize the player

    While runnig the program i am getting the following error.
    create player for : video.mpg
    Error value:80040216
    Error:Unable to realize com.sun.media.amovie.AMController@765a16
    Failed to realize the player
    As i am new in jmf i can't understand the problem.please help me by pointing out the error & how to solve the problem.Thanks in advance.
    import java.awt.*;
    import java.awt.event.*;
    import javax.media.*;
    import javax.media.control.FramePositioningControl;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    * Sample program to demonstrate FramePositioningControl.
    public class Seek extends Frame implements ControllerListener, ActionListener {
    Player p;
    FramePositioningControl fpc;
    Object waitSync = new Object();
    boolean stateTransitionOK = true;
    int totalFrames = FramePositioningControl.FRAME_UNKNOWN;
    Panel cntlPanel;
    Button fwdButton;
    Button bwdButton;
    Button rndButton;
    * Given a DataSource, create a player and use that player
    * as a player to playback the media.
    public boolean open(DataSource ds) {
         System.err.println("create player for: " + ds.getContentType());
         try {
         p = Manager.createPlayer(ds);
         } catch (Exception e) {
         System.err.println("Failed to create a player from the given DataSource: " + e);
         return false;
         p.addControllerListener(this);
         p.realize();
         if (!waitForState(p.Realized)) {
         System.err.println("Failed to realize the player.");
         return false;
         // Try to retrieve a FramePositioningControl from the player.
         fpc = (FramePositioningControl)p.getControl("javax.media.control.FramePositioningControl");
         if (fpc == null) {
         System.err.println("The player does not support FramePositioningControl.");
         System.err.println("There's no reason to go on for the purpose of this demo.");
         return false;
         Time duration = p.getDuration();
         if (duration != Duration.DURATION_UNKNOWN) {
         System.err.println("Movie duration: " + duration.getSeconds());
         totalFrames = fpc.mapTimeToFrame(duration);
         if (totalFrames != FramePositioningControl.FRAME_UNKNOWN)
              System.err.println("Total # of video frames in the movies: " + totalFrames);
         else
              System.err.println("The FramePositiongControl does not support mapTimeToFrame.");
         } else {
         System.err.println("Movie duration: unknown");
         // Prefetch the player.
         p.prefetch();
         if (!waitForState(p.Prefetched)) {
         System.err.println("Failed to prefetch the player.");
         return false;
         // Display the visual & control component if there's one.
         setLayout(new BorderLayout());
         cntlPanel = new Panel();
         fwdButton = new Button("Forward");
         bwdButton = new Button("Backward");
         rndButton = new Button("Random");
         fwdButton.addActionListener(this);
         bwdButton.addActionListener(this);
         rndButton.addActionListener(this);
         cntlPanel.add(fwdButton);
         cntlPanel.add(bwdButton);
         cntlPanel.add(rndButton);
         Component vc;
         if ((vc = p.getVisualComponent()) != null) {
         add("Center", vc);
         add("South", cntlPanel);
         setVisible(true);
         return true;
    public void addNotify() {
         super.addNotify();
         pack();
    * Block until the player has transitioned to the given state.
    * Return false if the transition failed.
    boolean waitForState(int state) {
         synchronized (waitSync) {
         try {
              while (p.getState() < state && stateTransitionOK)
              waitSync.wait();
         } catch (Exception e) {}
         return stateTransitionOK;
    public void actionPerformed(ActionEvent ae) {
         String command = ae.getActionCommand();
         if (command.equals("Forward")) {
         int dest = fpc.skip(1);
         System.err.println("Step forward " + dest + " frame.");
         } else if (command.equals("Backward")) {
         int dest = fpc.skip(-1);
         System.err.println("Step backward " + dest + " frame.");
         } else if (command.equals("Random")) {
         if (totalFrames == FramePositioningControl.FRAME_UNKNOWN)
              System.err.println("Cannot jump to a random frame.");
         else {
              int randomFrame = (int)(totalFrames * Math.random());
              randomFrame = fpc.seek(randomFrame);
              System.err.println("Jump to a random frame: " + randomFrame);
         int currentFrame = fpc.mapTimeToFrame(p.getMediaTime());
         if (currentFrame != FramePositioningControl.FRAME_UNKNOWN)
         System.err.println("Current frame: " + currentFrame);
    * 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) {
         p.setMediaTime(new Time(0));
         //p.start();
         //p.close();
         //System.exit(0);
         } else if (evt instanceof SizeChangeEvent) {
    * Main program
    public static void main(String [] args) {
         if (args.length == 0) {
         prUsage();
         System.exit(0);
         MediaLocator ml;
         if ((ml = new MediaLocator(args[0])) == null) {
         System.err.println("Cannot build media locator from: " + args[0]);
         prUsage();
         System.exit(0);
         DataSource ds = null;
         // Create a DataSource given the media locator.
         try {
         ds = Manager.createDataSource(ml);
         } catch (Exception e) {
         System.err.println("Cannot create DataSource from: " + ml);
         System.exit(0);
         Seek seek = new Seek();
         if (!seek.open(ds))
         System.exit(0);
    static void prUsage() {
         System.err.println("Usage: java Seek <url>");
    }

    I don't know anything about movie controllers, but I do know that most people won't bother looking at code unless you use the formatter.                                                                                                                                                                                                                                                                                               

  • Cannot realize processor: webcam to RTP

    Hello,
    I am having trouble converting the DataSource I get from a VFW webcam (Intel Easy PC Camera) into a source suitable for streaming over RTP. I get a strange "Failed to build a graph for the given custom options" error when I try to realize the processor.
    I am using the following code to transcode the camera's video source to a H261_RTP source to give to an RTP data sink:
    DataSource camera = Manager.createDataSource(new MediaLocator("vfw://0"));
    Processor processor = Manager.createProcessor(camera);
    waitForState(processor, Processor.Configured);
    // Should only get the VFW video track
    if (processor.getTrackControls().length != 1)
         return;
    VideoFormat vfmt = new VideoFormat(VideoFormat.H261_RTP, null, Format.NOT_SPECIFIED, null, Format.NOT_SPECIFIED);
    (processor.getTrackControls())[0].setFormat(vfmt);
    (processor.getTrackControls())[0].setEnabled(true);
    ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW_RTP);
    processor.setContentDescriptor(cd);
    waitForState(processor, Processor.Realized);When I call the second waitForState() (which calls processor.realize()), I get the following error:
    Failed to build a graph for the given custom options.
    Failed to realize: com.sun.media.ProcessEngine@60b6f5
      Cannot build a flow graph with the customized options:
        Unable to transcode format: YUV Video Format: Size = java.awt.Dimension[widt
    h=320,height=240] MaxDataLength = 115200 DataType = class [B yuvType = 2 StrideY
    = 320 StrideUV = 160 OffsetY = 0 OffsetU = 76800 OffsetV = 96000
          to: H261/RTP
          outputting to: RAW/RTP
    Error: Unable to realize com.sun.media.ProcessEngine@60b6f5Has anyone hade trouble converting from a YUV video format to a H261_RTP video format? Is my camera out of the ordinary for being YUV?
    The problem is I know this can be done with JMF because the JMFStudio fires up my camera and streams it out perfectly. From looking through the JMFStudio source, it basically just sets the final format type for the video track and lets the Processor or whatever handle all of the intermediary conversions when realize() is called. I thought that's what I'm doing too, but haven't found where I'm going wrong.
    I adapted my code from the VideoTransmit.java example program, which encountered the same errors.

    I have a similar problem. I am currently using a Intel camera (think it's easy pc). In my case, I am trying to create a processor to handle both the audio and video streams and I get an error when I try to create a send stream. The log file contains either JMF complaining about not being able to open com.ibm.media.codec.video.h263.NativeEncoder or not being able to transcode between different YUVFormats. The encoder seems capable of handling only 3 sizes when encoding.My initial try was to specify a YUV format which could be processed by the encoder. But I kept getting stuck in specifying the datatype when creating the desired format. Any ideas anyone ???
    Vijayan

  • Jmf error [cannot realize processor]

    Hello,
    I'm writing an application that uses a webcam with the JMF API. I downloaded a JMF example from one of the tutorials online. The program runs fine on my laptop, but when I moved this program to another computer after installing JMF and all the necessary components (such as JFM, QuickTime, JRE) I get the following error:
    Failed to build a graph for the given custom options.
    Failed to realize: com.sun.mediaProcessEngine@1174b07
    Cannot build a flow graph with the customized options:
    Unable to transcode format: RGB, 230x240, FrameRate=15.0, Length=230400, 24-bit, Masks=3:2:1, PixelStride=3, LineStride=960, Flipped to: CVID
    outputting to: QuickTime
    Thanks in advance.

    Hello,
    I'm writing an application that uses a webcam with the JMF API. I downloaded a JMF example from one of the tutorials online. The program runs fine on my laptop, but when I moved this program to another computer after installing JMF and all the necessary components (such as JFM, QuickTime, JRE) I get the following error:
    Failed to build a graph for the given custom options.
    Failed to realize: com.sun.mediaProcessEngine@1174b07
    Cannot build a flow graph with the customized options:
    Unable to transcode format: RGB, 230x240, FrameRate=15.0, Length=230400, 24-bit, Masks=3:2:1, PixelStride=3, LineStride=960, Flipped to: CVID
    outputting to: QuickTime
    Thanks in advance.

  • Codec stops the processor from realizing

    Hi, I am trying to build a solution which transmits a webcam stream to two computers simultaneously but with a different overlay on each. The idea being that each computer ends up with the same stream but with different watermarks on top of it. I have created two processors which run as threads and set an overlay codec to the data flow path of each processor. However when I set the codec to the data flow path the processor will not realize and I get the following error.
    Failed to build a graph for the given custom options.
    Failed to realize: com.sun.media.ProcessEngine@c21495
    Cannot build a flow graph with the customized options:
    Unable to transcode format: RGB, 320x240, FrameRate=15.0, Length=230400, 24-
    bit, Masks=3:2:1, PixelStride=3, LineStride=960, Flipped
    to: JPEG/RTP, 320x240, FrameRate=15.0
    outputting to: RAW/RTP
    Unable to add customed codecs:
    videowallfinal.Transmit2$OverlayCodec@8814e9
    Error: Unable to realize com.sun.media.ProcessEngine@c21495
    The processor works fine if I take out the setCodecChain part so I'm guessing it has something to do with the codec. Any help would be much appreciated. I will post the code below.

    Here is the code for the processor, a cloneable dataSource is created from the medialocator (webcam) in another class but I havn't added it becuase it would be too long. Thanks again.
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.BufferedImage;
    import java.awt.image.DataBufferByte;
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.format.*;
    import javax.media.control.TrackControl;
    import javax.media.control.QualityControl;
    import java.io.*;
    public class Transmit1 extends Panel implements Runnable{
        // Input MediaLocator
        // Can be a file or http or capture source
        private String ipAddress1;
        private String port1;
        private Processor processor = null;
        private DataSink  rtptransmitter = null;
        private DataSource dataOutput = null;
        private DataSource processorOutput = null;
        public static Player player = null;
        public Transmit1(DataSource ds) {
         this.processorOutput = ds;
            this.ipAddress1 = "192.168.5.3";
         this.port1 = "55556";
        public void start(){
            Thread thread = new Thread(this);
         thread.start();
        public void run() {
            run2();
         * Starts the transmission. Returns null if transmission started ok.
         * Otherwise it returns a string with the reason why the setup failed.
        public synchronized String run2() {
         String result;
         // Create a processor for the specified media locator
         // and program it to output JPEG/RTP
         result = createProcessor();
         if (result != null)
             return result;
            //createTransmitter();
            //createTransmitter2();
            //Create an RTP session to transmit the output of the
         //processor to the specified IP address and port no.
         result = createTransmitter();
         if (result != null) {
             processor.close();
             processor = null;
             return result;
            //result = createTransmitter2();
         //if (result != null) {
         //    processor.close();
         //    processor = null;
         //    return result;
         // Start the transmission
         processor.start();
         return null;
         * Stops the transmission if already started
        public void stop() {
         synchronized (this) {
             if (processor != null) {
              processor.stop();
              processor.close();
              processor = null;
              rtptransmitter.close();
              rtptransmitter = null;
                    //t1.stop();
                    //t2.stop();
                    //rtptransmitter2.close();
              //rtptransmitter2 = null;
        private String createProcessor() {
    //     if (locator == null)
    //         return "Locator is null";
    //     DataSource ds;
    //     try {
    //         ds = Manager.createDataSource(locator);
    //     } catch (Exception e) {
    //         return "Couldn't create DataSource";
            //ds = Manager.createCloneableDataSource(ds);
         //if (ds == null) {
          //   System.err.println("Cannot clone the given DataSource");
          //   System.exit(0);
         // Try to create a processor to handle the input media locator
         try {
             processor = Manager.createProcessor(processorOutput);
         } 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";
         boolean programmed = false;
         // Search through the tracks for a video track
            TrackControl videoTrack = null;
         for (int i = 0; i < tracks.length; i++) {
             Format format = tracks.getFormat();
         if ( tracks[i].isEnabled() &&
              format instanceof VideoFormat &&
              !programmed) {
    // Found a video track. Try to program it to output JPEG/RTP
              // Make sure the sizes are multiple of 8's.
              Dimension size = ((VideoFormat)format).getSize();
              float frameRate = ((VideoFormat)format).getFrameRate();
              int w = (size.width % 8 == 0 ? size.width :
                        (int)(size.width / 8) * 8);
              int h = (size.height % 8 == 0 ? size.height :
                        (int)(size.height / 8) * 8);
              VideoFormat jpegFormat = new VideoFormat(VideoFormat.JPEG_RTP,
                                       new Dimension(w, h),
                                       Format.NOT_SPECIFIED,
                                       Format.byteArray,
                                       frameRate);
              tracks[i].setFormat(jpegFormat);
    videoTrack = tracks[i];
              System.err.println("Video transmitted as:");
              System.err.println(" " + jpegFormat);
              // Assume succesful
              programmed = true;
         } else
              tracks[i].setEnabled(false);
         if (!programmed)
         return "Couldn't find video track";
    // Instantiate and set the overlay codec to the data flow path.
         try {
         Codec codec[] = { new OverlayCodec()};
         videoTrack.setCodecChain(codec);
         } catch (UnsupportedPlugInException e) {
         System.err.println("The process does not support effects.");
         // Set the output content descriptor to RAW_RTP
         ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW_RTP);
         processor.setContentDescriptor(cd);
         // Realize the processor. This will internally create a flow
         // graph and attempt to create an output datasource for JPEG/RTP
         // video 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;
    // Creates an RTP transmit data sink. This is the easiest way to create
    // an RTP transmitter. The other way is to use the RTPSessionManager API.
    // Using an RTP session manager gives you more control if you wish to
    // fine tune your transmission and set other parameters.
    private String createTransmitter() {
         // Create a media locator for the RTP data sink.
         // For example:
         // rtp://129.130.131.132:42050/video
         String rtpURL = "rtp://" + ipAddress1 + ":" + port1 + "/video";
         MediaLocator outputLocator = new MediaLocator(rtpURL);
         // Create a data sink, open it and start transmission. It will wait
         // for the processor to start sending data. So we need to start the
         // output data source of the processor. We also need to start the
         // processor itself, which is done after this method returns.
         try {
         rtptransmitter = Manager.createDataSink(dataOutput, outputLocator);
         rtptransmitter.open();
         rtptransmitter.start();
         dataOutput.start();
         } catch (MediaException me) {
         return "Couldn't create RTP data sink";
         } catch (IOException ioe) {
         return "Couldn't create RTP data sink";
         return null;
    * 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.Prefetched){
    p.prefetch();
    }else if (state == Processor.Realized) {
         p.realize();
         // Wait until we get an event that confirms the
         // success of the method, or a failure event.
         // See StateListener inner class
         while (p.getState() < state && !failed) {
         synchronized (getStateLock()) {
              try {
              getStateLock().wait();
              } catch (InterruptedException ie) {
              return false;
         if (failed)
         return false;
         else
         return true;
    * Inner Classes
    class StateListener implements ControllerListener {
         public void controllerUpdate(ControllerEvent ce) {
         // If there was an error during configure or
         // realize, the processor will be closed
         if (ce instanceof ControllerClosedEvent)
              setFailed();
         // All controller events, send a notification
         // to the waiting thread in waitForState method.
         if (ce instanceof ControllerEvent) {
              synchronized (getStateLock()) {
              getStateLock().notifyAll();
    public class PreAccessCodec implements Codec {
    * Callback to access individual video frames.
         void accessFrame(Buffer frame) {
         // For demo, we'll just print out the frame #, time &
         // data length.
         long t = (long)(frame.getTimeStamp()/10000000f);
         System.err.println("Pre: frame #: " + frame.getSequenceNumber() +
                   ", time: " + ((float)t)/100f +
                   ", len: " + frame.getLength());
         * The code for a pass through codec.
         // We'll advertize as supporting all video formats.
         protected Format supportedIns[] = new Format [] {
         new VideoFormat(null)
         // We'll advertize as supporting all video formats.
         protected Format supportedOuts[] = new Format [] {
         new VideoFormat(null)
         Format input = null, output = null;
         public String getName() {
         return "Pre-Access Codec";
         // No op.
    public void open() {
         // No op.
         public void close() {
         // No op.
         public void reset() {
         public Format [] getSupportedInputFormats() {
         return supportedIns;
         public Format [] getSupportedOutputFormats(Format in) {
         if (in == null)
              return supportedOuts;
         else {
              // If an input format is given, we use that input format
              // as the output since we are not modifying the bit stream
              // at all.
              Format outs[] = new Format[1];
              outs[0] = in;
              return outs;
         public Format setInputFormat(Format format) {
         input = format;
         return input;
         public Format setOutputFormat(Format format) {
         output = format;
         return output;
         public int process(Buffer in, Buffer out) {
         // This is the "Callback" to access individual frames.
         accessFrame(in);
         // Swap the data between the input & output.
         Object data = in.getData();
         in.setData(out.getData());
         out.setData(data);
         // Copy the input attributes to the output
         out.setFormat(in.getFormat());
         out.setLength(in.getLength());
         out.setOffset(in.getOffset());
         return BUFFER_PROCESSED_OK;
         public Object[] getControls() {
         return new Object[0];
         public Object getControl(String type) {
         return null;
    public class PostAccessCodec extends PreAccessCodec {
         // We'll advertize as supporting all video formats.
         public PostAccessCodec() {
         supportedIns = new Format [] {
              new RGBFormat()
    * Callback to access individual video frames.
         void accessFrame(Buffer frame) {
         // For demo, we'll just print out the frame #, time &
         // data length.
         long t = (long)(frame.getTimeStamp()/10000000f);
         System.err.println("Post: frame #: " + frame.getSequenceNumber() +
                   ", time: " + ((float)t)/100f +
                   ", len: " + frame.getLength());
         public String getName() {
         return "Post-Access Codec";
    public class OverlayCodec extends PostAccessCodec {
    BufferedImage work;
    byte[] workData;
    int width;
    int height;
    int dataLen;
    // input format set to match BufferedImage format
    RGBFormat supportedRGB = new RGBFormat(null, // size
    Format.NOT_SPECIFIED, // maxDataLength
    Format.byteArray, // dataType
    Format.NOT_SPECIFIED, // frameRate
    24, // bitsPerPixel
    3, 2, 1, // red/green/blue masks
    3, // pixelStride
    Format.NOT_SPECIFIED, // lineStride
    Format.FALSE, // flipped
    Format.NOT_SPECIFIED); // endian
    public OverlayCodec() {
    // force specific input format
    supportedIns = new Format [] {
    supportedRGB
    public Format setInputFormat(Format format) {
    if ((format != null) && (format instanceof RGBFormat) &&
    format.matches(supportedRGB)) {
    // set up working image if valid type
    // (it should be since we insisted!)
    Dimension size = ((RGBFormat)format).getSize();
    width = size.width;
    height = size.height;
    dataLen = width * height * 3;
    if ((dataLen > 0) &&
    ((work == null) || (work.getWidth() != width) || (work.getHeight() != height))) {
    // working image - same 3-byte format as buffer
    work = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
    // reference to pixel data
    workData = ((DataBufferByte) work.getRaster().getDataBuffer()).getData();
    return super.setInputFormat(format);
    void drawGraphics(Graphics2D g) {
    // replace or override to draw on frame contents
    g.clearRect(0, 0, 100, 100);
    //g.clearRect(176, 120, 176, 120);
    void accessFrame(Buffer frame) {
    if ((work != null) && (frame.getData().getClass() == byte[].class)) {
    // Create new graphics context for image
    // (could be created only once if drawGraphics manages state)
    Graphics2D g = work.createGraphics();
    // transfer buffer contents into image
    byte[] bufData = (byte[]) frame.getData();
    int n = Math.min(dataLen, bufData.length);
    System.arraycopy(bufData, 0, workData, 0, n);
    // perform desired graphics operations
    drawGraphics(g);
    // copy changed image data back to buffer
    System.arraycopy(workData, 0, bufData, 0, n);
    g.dispose();
    super.accessFrame(frame); // if you care
    public String getName() {
    return "Frame Overlay Codec";
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

  • Error in Player.realize()

    I am tring to create player with input stream ( getting from RTP packet after removing 12 byte header). after player creation during realize it gives following error.
    Failed to realize player: Malformed wave media:expected 'RIFF'
    i m sending stream stream from javasound and getting at j2me application with payload type 5.
    my application code is following
         ByteArrayInputStream bais = new ByteArrayInputStream(by1);
              is = bais;
              Player tonePlayer = Manager.createPlayer(is,"audio/x-wav");
              System.out.println("Player created");
              tonePlayer.realize();
    Plz suggest me how to handle this problem

    http://forums.adobe.com/thread/944238

  • Please HELP, nothing working! Secure Link to iTunes Store failed

    I am going absolutely insane here, I cannot fix this problem. I have been searching Google for hours trying every single thing that people recommend, NONE of them are working.  This is ridiculous, something has to work to fix this, please help, I'm getting increasingly frustrated with this issue.  My internet works just fine, there is no connection issue that I am aware of.  I tried all the things that Google search came up with, none have yet to solve this issue.  Please someone HELP!!!
    And to answer questions I am sure that will come up:
    YES iTunes is enabled through Windows Firewall
    YES I have tried uninstalling and reinstalling iTunes
    YES I have tried turning off Windows Firewall
    YES I have tried turning off my anti-virus software
    YES I have tried uninstalling my anti-virus software
    YES I tried the command prompt Winsock netsh reset
    Anyone have any ideas that I haven't yet come across?  I'm at a complete and total loss for what to do and I need my software to work properly.  Thank you so much.

    Here's my diagnostic test results in case this tells someone something useful.  I did notice that it says iTunes is not enabled in Windows Firewall but this is false, I checked and it is in fact enabled, not sure why iTunes fails to realize that. 
    Microsoft Windows 7 x64 Home Premium Edition Service Pack 1 (Build 7601)
    ASUSTeK Computer Inc. K53E
    iTunes 11.1.3.8
    QuickTime not available
    FairPlay 2.5.16
    Apple Application Support 2.3.6
    iPod Updater Library 11.1f5
    CD Driver 2.2.3.0
    CD Driver DLL 2.1.3.1
    Apple Mobile Device 7.0.0.117
    Apple Mobile Device Driver 1.64.0.0
    Bonjour 3.0.0.10 (333.10)
    Gracenote SDK 1.9.6.502
    Gracenote MusicID 1.9.6.115
    Gracenote Submit 1.9.6.143
    Gracenote DSP 1.9.6.45
    iTunes Serial Number 00C4BD600A2AAD08
    Current user is not an administrator.
    The current local date and time is 2013-12-15 23:14:01.
    iTunes is not running in safe mode.
    WebKit accelerated compositing is enabled.
    HDCP is supported.
    Core Media is supported.
    Video Display Information
    Intel Corporation, Intel(R) HD Graphics 3000
    **** External Plug-ins Information ****
    No external plug-ins installed.
    **** Network Connectivity Tests ****
    Network Adapter Information
    Adapter Name:    {342B5226-A1DC-4483-A78A-4F5FF6A951F3}
    Description:    Atheros AR8151 PCI-E Gigabit Ethernet Controller (NDIS 6.20)
    IP Address:    0.0.0.0
    Subnet Mask:    0.0.0.0
    Default Gateway:    0.0.0.0
    DHCP Enabled:    Yes
    DHCP Server:   
    Lease Obtained:    Wed Dec 31 19:00:00 1969
    Lease Expires:    Wed Dec 31 19:00:00 1969
    DNS Servers:   
    Adapter Name:    {5B0927CE-C994-43A4-B60A-0AA6A141C020}
    Description:    Atheros AR9285 Wireless Network Adapter
    IP Address:    192.168.1.12
    Subnet Mask:    255.255.255.0
    Default Gateway:    192.168.1.1
    DHCP Enabled:    Yes
    DHCP Server:    192.168.1.1
    Lease Obtained:    Sun Dec 15 22:01:33 2013
    Lease Expires:    Mon Dec 16 22:01:33 2013
    DNS Servers:    192.168.1.1
    Active Connection:    LAN Connection
    Connected:    Yes
    Online:        Yes
    Using Modem:    No
    Using LAN:    Yes
    Using Proxy:    No
    Firewall Information
    Windows Firewall is on.
    iTunes is NOT enabled in Windows Firewall.
    Connection attempt to Apple web site was successful.
    Basic connection to the store failed.
    An unknown error occurred (0x80090330).
    Connection attempt to Gracenote server was successful.
    Last successful iTunes Store access was 2013-06-01 16:36:33.
    **** CD/DVD Drive Tests ****
    No drivers in LowerFilters.
    UpperFilters: GEARAspiWDM (2.2.3.0),
    E: HL-DT-ST DVDRAM GT34N, Rev AS00
    Data or MP3 CD in drive.
    Found 1 songs on CD, playing time 255:57 on CDROM media.
    Track 1, start time 00:02:00
    Get drive speed succeeded.
    The drive CDR speeds are:   4.
    The drive CDRW speeds are:   4.
    The drive DVDR speeds are:   4.
    The drive DVDRW speeds are:   4.
    **** Device Connectivity Tests ****
    iPodService 11.1.3.8 (x64) is currently running.
    iTunesHelper 11.1.3.8 is currently running.
    Apple Mobile Device service 3.3.0.0 is currently running.
    Universal Serial Bus Controllers:
    Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C26.  Device is working properly.
    Intel(R) 6 Series/C200 Series Chipset Family USB Enhanced Host Controller - 1C2D.  Device is working properly.
    No FireWire (IEEE 1394) Host Controller found.
    Most Recent Devices Not Currently Connected:
    iPhone 4 (CDMA) running firmware version 7.0.4
    Serial Number:    C8RH7F7YDP0V
    **** Device Sync Tests ****
    No iPod, iPhone, or iPad found.

  • Problem with Cut.java sample

    I am attempting to use code from the Cut.java sample to cut multiple
    regions from the same source audio file to separate destination files.
    I am calling the doIt() method from my coding, passing MediaLocators to
    the input and output files (both .wav) , and arrays with a single
    element (time in ns as a long) for the start and end, and false for
    frame mode. The first time I call it, it works fine. However, on
    subsequent calls, despite the output messages suggesting it has worked
    successfully, the output files are full of white noise. I have tried:
    using a new instance of Cut each time
    adding code to close the processor and disconnect the datasink
    disabling JMF buffering
    all to no effect. Any suggestions would be greatly appreciated.
    cheers
    Matthew Wilson.

    I have kind of the same problem too.
    I copy-paste the "cutting sections from an input" example from http://java.sun.com/products/java-media/jmf/2.1.1/solutions/Cut.java but can't get it to work.
    The error I'm getting back is:
    - Create processor for: file:/c:/song.mp3
    - Configure the processor for: file:/c:/song.mp3
      Transcode:
         from: mpeglayer3, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 16000.0 frame rate, FrameSize=32768 bits
         to: LINEAR, 44100.0 Hz, 16-bit, Stereo, BigEndian, Signed
    - Realize the processor for: file:/c:/song.mp3
    Failed to build a graph for the given custom options.
    Failed to realize: com.sun.media.ProcessEngine@19360e2
      Cannot build a flow graph with the customized options:
        Unable to transcode format: mpeglayer3, 44100.0 Hz, 16-bit, Stereo, LittleEndian, Signed, 16000.0 frame rate, FrameSize=32768 bits
          to: LINEAR, 44100.0 Hz, 16-bit, Stereo, BigEndian, Signed
          outputting to: RAW
    Error: Unable to realize com.sun.media.ProcessEngine@19360e2
    Failed to realize the processor.
    Failed to cut the inputsince I'm using eclipse as IDE, I made some "minor" changes on Cut.java to test it on eclipse
    public static void main(String [] args) {
        args = new String[7];
        args[0] = "-o";
        args[1] = "file:/c:/tmp.mov"; //outputfile
        args[2] = "file:/c:/peli.mov"; //inputfile
        args[3] = "-s";
        args[4] = "5000";
        args[5] = "-e";
        args[6] = "25000";
        //no more changes...Does any one have an idea what do I'm doing wrong? I'll appreciate ur help.

  • Mini dvi out

    If i connect my MacBook Pro to a tv through the mini dvi port (via vga or hdmi) will i get sound or just video?
    Thanks

    JoJohn: If your MBP was manufactured after April 2010, it sends an audio signal through its mini-Displayport. If it's an earlier model, it doesn't.
    There are several third-party HDMI adapters on the market that claim to carry audio when the computer provides it through that port. Reports have been mixed about all of them, probably including some adverse reports from people who fail to realize that their older machines don't send audio through the mini-Displayport.
    To find such adapters, Google "mini-displayport to HDMI". Read the specs for each adapter carefully to learn whether or not it claims to support audio.

  • Not able to transmit Video

    Hi,
    I m new to JMF.We are using MjSIP and i want to transmit video through JMF to other machine.The problem is the implementation which is given in MjSIP isnt working .
    I mean whenever i execute the implementation given in mjSIP like JVisualReceiver etc.Both machines hangs coz they are not being able to realize the processor.I have successfully run the Player but i m getting problem in realizing the processor.
    Although we are using the same processor.realize() method given in JMF Api.
    Even i m not being able to run this sample given by SUN.
    package local.ua;
    * @(#)VideoTransmit.java     1.7 01/03/13
    * Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
    * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
    * modify and redistribute this software in source and binary code form,
    * provided that i) this copyright notice and license appear on all copies of
    * the software; and ii) Licensee does not utilize the software in a manner
    * which is disparaging to Sun.
    * This software is provided "AS IS," without a warranty of any kind. ALL
    * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
    * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
    * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
    * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
    * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
    * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
    * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
    * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
    * POSSIBILITY OF SUCH DAMAGES.
    * This software is not designed or intended for use in on-line control of
    * aircraft, air traffic, aircraft navigation or aircraft communications; or in
    * the design, construction, operation or maintenance of any nuclear
    * facility. Licensee represents and warrants that it will not use or
    * redistribute the Software for such purposes.
    import java.awt.*;
    import javax.media.*;
    import javax.media.protocol.*;
    import javax.media.protocol.DataSource;
    import javax.media.format.*;
    import javax.media.control.TrackControl;
    import javax.media.control.QualityControl;
    import java.io.*;
    public class VideoTransmit {
        // Input MediaLocator
        // Can be a file or http or capture source
        private MediaLocator locator;
        private String ipAddress;
        private String port;
        private Processor processor = null;
        private DataSink  rtptransmitter = null;
        private DataSource dataOutput = null;
        public VideoTransmit(MediaLocator locator,
                    String ipAddress,
                    String port) {
         this.locator = locator;
         this.ipAddress = ipAddress;
         this.port = 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 result;
         // Create a processor for the specified media locator
         // and program it to output JPEG/RTP
         result = createProcessor();
         if (result != null)
             return result;
         // Create an RTP session to transmit the output of the
         // processor to the specified IP address and port no.
         result = createTransmitter();
         if (result != null) {
             processor.close();
             processor = null;
             return result;
         // Start the transmission
         processor.start();
         return null;
         * Stops the transmission if already started
        public void stop() {
         synchronized (this) {
             if (processor != null) {
              processor.stop();
              processor.close();
              processor = null;
              rtptransmitter.close();
              rtptransmitter = null;
        private String createProcessor() {
         if (locator == null)
             return "Locator is null";
         DataSource ds;
         DataSource clone;
         try {
             ds = Manager.createDataSource(locator);
         } catch (Exception e) {
             return "Couldn't create DataSource";
         // Try to create a processor to handle the input media locator
         try {
             processor = Manager.createProcessor(ds);
         } catch (NoProcessorException npe) {
             return "Couldn't create processor";
         } catch (IOException ioe) {
             return "IOException creating processor";
         // Wait for it to configure
         boolean result = waitForState(processor, Processor.Configured);
         if (result == false)
             return "Couldn't configure processor";
         // Get the tracks from the processor
         TrackControl [] tracks = processor.getTrackControls();
         // Do we have atleast one track?
         if (tracks == null || tracks.length < 1)
             return "Couldn't find tracks in processor";
         boolean programmed = false;
         // Search through the tracks for a video track
         for (int i = 0; i < tracks.length; i++) {
             Format format = tracks.getFormat();
         if ( tracks[i].isEnabled() &&
              format instanceof VideoFormat &&
              !programmed) {
              // Found a video track. Try to program it to output JPEG/RTP
              // Make sure the sizes are multiple of 8's.
              Dimension size = ((VideoFormat)format).getSize();
              float frameRate = ((VideoFormat)format).getFrameRate();
              int w = (size.width % 8 == 0 ? size.width :
                        (int)(size.width / 8) * 8);
              int h = (size.height % 8 == 0 ? size.height :
                        (int)(size.height / 8) * 8);
              VideoFormat jpegFormat = new VideoFormat(VideoFormat.JPEG_RTP,
                                       new Dimension(w, h),
                                       Format.NOT_SPECIFIED,
                                       Format.byteArray,
                                       frameRate);
              tracks[i].setFormat(jpegFormat);
              System.err.println("Video transmitted as:");
              System.err.println(" " + jpegFormat);
              // Assume succesful
              programmed = true;
         } else
              tracks[i].setEnabled(false);
         if (programmed)
         return "Couldn't find video track";
         // Set the output content descriptor to RAW_RTP
         ContentDescriptor cd = new ContentDescriptor(ContentDescriptor.RAW_RTP);
         processor.setContentDescriptor(cd);
         // Realize the processor. This will internally create a flow
         // graph and attempt to create an output datasource for JPEG/RTP
         // video 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;
    // Creates an RTP transmit data sink. This is the easiest way to create
    // an RTP transmitter. The other way is to use the RTPSessionManager API.
    // Using an RTP session manager gives you more control if you wish to
    // fine tune your transmission and set other parameters.
    private String createTransmitter() {
         // Create a media locator for the RTP data sink.
         // For example:
         // rtp://129.130.131.132:42050/video
         String rtpURL = "rtp://" + ipAddress + ":" + port + "/video";
         MediaLocator outputLocator = new MediaLocator(rtpURL);
         // Create a data sink, open it and start transmission. It will wait
         // for the processor to start sending data. So we need to start the
         // output data source of the processor. We also need to start the
         // processor itself, which is done after this method returns.
         try {
         rtptransmitter = Manager.createDataSink(dataOutput, outputLocator);
         rtptransmitter.open();
         rtptransmitter.start();
         dataOutput.start();
         } catch (MediaException me) {
         return "Couldn't create RTP data sink";
         } catch (IOException ioe) {
         return "Couldn't create RTP data sink";
         return null;
    * 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
         // realize, the processor will be closed
         if (ce instanceof ControllerClosedEvent)
              setFailed();
         // All controller events, send a notification
         // to the waiting thread in waitForState method.
         if (ce instanceof ControllerEvent) {
              synchronized (getStateLock()) {
              getStateLock().notifyAll();
    * Sample Usage for VideoTransmit class
    public static void main(String [] args) {
         // We need three parameters to do the transmission
         // For example,
         // java VideoTransmit file:/C:/media/test.mov 129.130.131.132 42050
         if (args.length < 3) {
         System.err.println("Usage: VideoTransmit <sourceURL> <destIP> <destPort>");
         System.exit(-1);
         // Create a video transmit object with the specified params.
         VideoTransmit vt = new VideoTransmit(new MediaLocator(args[0]),
                             args[1],
                             args[2]);
         // Start the transmission
         String result = vt.start();
         // result will be non-null if there was an error. The return
         // value is a String describing the possible error. Print it.
         if (result != null) {
         System.err.println("Error : " + result);
         System.exit(0);
         System.err.println("Start transmission for 60 seconds...");
         // Transmit for 60 seconds and then close the processor
         // This is a safeguard when using a capture data source
         // so that the capture device will be properly released
         // before quitting.
         // The right thing to do would be to have a GUI with a
         // "Stop" button that would call stop on VideoTransmit
         try {
         Thread.currentThread().sleep(60000);
         } catch (InterruptedException ie) {
         // Stop the transmission
         vt.stop();
         System.err.println("...transmission ended.");
         System.exit(0);
    I m getting this exception
    Failed to realize: com.sun.media.ProcessEngine@bd0108
    Error: Unable to realize com.sun.media.ProcessEngine@bd0108
    Error : Couldn't realize processor

    Finaly i was able to solve the problem.The other machine was having some firewall blocking the receiver.

  • Hangs after updating to 10.4.5

    896MB RAM
    G4 DP 500MHz
    I've had no problems with 10.4.4 but saw the software update pop up on my desktop. (Big mistake.)
    Updated via software update with no interruptions. Restarted as directed. Problem: OS X will show progress bar moving left to right. Normally, as soon as the bar hits the right side, the login screen appears. That's not happening. OS X is hanging.
    I've read that some folks have rebooted in Safe Mode. That didn't work for me. I've read that some had problems with the Startup items. That didn't work for me. I've read (after previous upgrade problems) that some folks had problems with Cache files. That didn't work for me. I even removed the Extensions.kextcache file (and the other one) with no luck. OS X is still hanging. I removed all connections and extra RAM with no luck.
    I could be wrong but I think the problem lies with login since OS X is moving along all the way until the login screen is supposed to appear (but doesn't.) I've found these files: waiting4loginwindow.pid and loginwindow.boottime. Both are the most recent files that were modified at or after the time of software update to 10.4.5 from 10.4.4.
    I'm at a loss as to what to do next (besides a painful reinstall back to 10.4.) I've rebooted to OS 9.2.2 to submit this question. Thanks in advance for any suggestions.

    It seems to me that some fail to realize that Apple did not intend for all this mess. Just think about that for a moment. Why would Apple permit the Software Update to automatically appear, permit you to update the software, all without insisting you do the following: Verify/Repair Permissions, take out all extra RAM, disconnect all wires (except the power and display,) etc., etc? It's because MacOS is supposed to be simple.
    Some of us have found glitches. I think I found a simple glitch. So simple, it has cost me a day's worth of work. I still haven't been able to find a solution.
    If you read other problems and the solutions are recommending reinstall, you are essentually reading about our MacOS becoming more and more like Windows. Not good. Stating that all updates should be applied only after you have done all of the above is not good either. I think I've learned my lesson to not update any more.
    If you do have a solution, thanks in advance for any info. (Rebooted in OS 9.2.2.)

  • Re: how to capture a frame from a video file and save it as a jpeg

    package com.snn.multimedia;
    * @(#)FrameAccess.java     1.5 01/03/13
    * Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
    * Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
    * modify and redistribute this software in source and binary code form,
    * provided that i) this copyright notice and license appear on all copies of
    * the software; and ii) Licensee does not utilize the software in a manner
    * which is disparaging to Sun.
    * This software is provided "AS IS," without a warranty of any kind. ALL
    * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
    * IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
    * NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
    * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
    * OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
    * LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
    * INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
    * CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
    * OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
    * POSSIBILITY OF SUCH DAMAGES.
    * This software is not designed or intended for use in on-line control of
    * aircraft, air traffic, aircraft navigation or aircraft communications; or in
    * the design, construction, operation or maintenance of any nuclear
    * facility. Licensee represents and warrants that it will not use or
    * redistribute the Software for such purposes.
    import java.util.Date;
    import java.util.Arrays;
    import java.util.Iterator;
    import javax.imageio.ImageIO;
    import javax.imageio.stream.ImageOutputStream;
    import javax.imageio.ImageWriter;
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.awt.image.DataBufferByte;
    import javax.media.*;
    import javax.media.control.FramePositioningControl;
    import javax.media.control.TrackControl;
    import javax.media.Format;
    import javax.media.format.*;
    import javax.media.util.BufferToImage;
    import javax.media.util.ImageToBuffer;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import com.sun.image.codec.jpeg.*;
    * Sample program to access individual video frames by using a
    * "pass-thru" codec. The codec is inserted into the data flow
    * path. As data pass through this codec, a callback is invoked
    * for each frame of video data.
    public class FrameAccess extends java.awt.Frame implements ControllerListener
    Processor p;
    Object waitSync = new Object();
    boolean stateTransitionOK = true;
    * Given a media locator, create a processor and use that processor
    * as a player to playback the media.
    * During the processor's Configured state, two "pass-thru" codecs,
    * PreAccessCodec and PostAccessCodec, are set on the video track.
    * These codecs are used to get access to individual video frames
    * of the media.
    * Much of the code is just standard code to present media in JMF.
    public boolean open(MediaLocator ml)
    try
    p = Manager.createProcessor(ml);
    catch (Exception e)
    System.err.println("Failed to create a processor from the given url: "
    + e);
    return false;
    p.addControllerListener(this);
    // Put the Processor into configured state.
    p.configure();
    if (!waitForState(p.Configured))
    System.err.println("Failed to configure the processor.");
    return false;
    // So I can use it as a player.
    p.setContentDescriptor(null);
    // Obtain the track controls.
    TrackControl tc[] = p.getTrackControls();
    if (tc == null)
    System.err.println("Failed to obtain track controls from the processor.");
    return false;
    // 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.");
    return false;
    VideoFormat currentFormat = (VideoFormat)videoTrack.getFormat();
    System.err.println("Video format: " + videoTrack.getFormat() );
    videoTrack.setFormat(new VideoFormat("RGB", currentFormat.getSize(), currentFormat.getMaxDataLength(), currentFormat.getDataType(), currentFormat.getFrameRate()));
    // Instantiate and set the frame access codec to the data flow path.
    try
    // Try to retrieve a FramePositioningControl from the player.
    FramePositioningControl fpc = (FramePositioningControl) p.getControl("javax.media.control.FramePositioningControl");
    if (fpc == null)
    System.err.println("The player does not support FramePositioningControl.");
    System.err.println("There's no reason to go on for the purpose of this demo.");
    return false;
    Time duration = p.getStopTime();
    long totalFrames = 0;
    if (duration != Duration.DURATION_UNKNOWN)
    System.err.println("Movie duration: " + duration.getSeconds());
    totalFrames = fpc.mapTimeToFrame(duration);
    if (totalFrames != FramePositioningControl.FRAME_UNKNOWN)
    System.err.println("Total # of video frames in the movies: "
    + totalFrames);
    } else
    System.err.println("The FramePositiongControl does not support mapTimeToFrame.");
    } else
    System.err.println("Movie duration: unknown");
    long[] frames;
    if (totalFrames > 0L)
    double intervalDouble = Math.floor(totalFrames / 5.0);
    long interval = new Double(intervalDouble).longValue();
    frames = new long[5];
    frames[0] = 1;
    frames[1] = frames[0] + interval;
    frames[2] = frames[1] + interval;
    frames[3] = frames[2] + interval;
    frames[4] = frames[3] + interval;
    } else
    frames = new long[1];
    frames[0] = 1;
    // Codec codec[] = { new PreAccessCodec(), new PostAccessCodec()};
    Codec codec[] = { new OverlayCodec(frames)};
    videoTrack.setCodecChain(codec);
    catch (UnsupportedPlugInException e)
    System.err.println("The process does not support effects.");
    // Realize the processor.
    p.prefetch();
    if (!waitForState(p.Prefetched))
    System.err.println("Failed to realize the processor.");
    return false;
    // Display the visual & control component if there's one.
    setLayout(new BorderLayout());
    Component cc;
    Component vc;
    if ((vc = p.getVisualComponent()) != null)
    add("Center", vc);
    if ((cc = p.getControlPanelComponent()) != null)
    add("South", cc);
    // Start the processor.
    p.start();
    setVisible(true);
    return true;
    public void addNotify()
    super.addNotify();
    pack();
    * Block until the processor has transitioned to the given state.
    * Return false if the transition failed.
    boolean waitForState(int state)
    synchronized (waitSync)
    try
    while (p.getState() != state && stateTransitionOK)
    waitSync.wait();
    catch (Exception e)
    return stateTransitionOK;
    * 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)
    p.close();
    System.exit(0);
    * Main program
    public static void main(String[] args)
    if (args.length == 0)
    prUsage();
    System.exit(0);
    String url = args[0];
    if (url.indexOf(":") < 0)
    prUsage();
    System.exit(0);
    MediaLocator ml;
    if ((ml = new MediaLocator(url)) == null)
    System.err.println("Cannot build media locator from: " + url);
    System.exit(0);
    FrameAccess fa = new FrameAccess();
    if (!fa.open(ml))
    System.exit(0);
    static void prUsage()
    System.err.println("Usage: java FrameAccess <url>");
    * Inner class.
    * A pass-through codec to access to individual frames.
    public class PreAccessCodec implements Codec
    * Callback to access individual video frames.
    void accessFrame(Buffer frame)
    // For demo, we'll just print out the frame #, time &
    // data length.
    long t = (long) (frame.getTimeStamp() / 10000000f);
    System.err.println("Pre: frame #: " + frame.getSequenceNumber()
    + ", time: " + ((float) t) / 100f + ", len: "
    + frame.getLength());
    * The code for a pass through codec.
    // We'll advertize as supporting all video formats.
    protected Format supportedIns[] = new Format[] {
    new VideoFormat(null)
    // We'll advertize as supporting all video formats.
    protected Format supportedOuts[] = new Format[] {
    new VideoFormat(null)
    Format input = null, output = null;
    public String getName()
    return "Pre-Access Codec";
    // No op.
    public void open()
    // No op.
    public void close()
    // No op.
    public void reset()
    public Format[] getSupportedInputFormats()
    return supportedIns;
    public Format[] getSupportedOutputFormats(Format in)
    if (in == null)
    return supportedOuts;
    } else
    // If an input format is given, we use that input format
    // as the output since we are not modifying the bit stream
    // at all.
    Format outs[] = new Format[1];
    outs[0] = in;
    return outs;
    public Format setInputFormat(Format format)
    input = format;
    return input;
    public Format setOutputFormat(Format format)
    output = format;
    return output;
    public int process(Buffer in, Buffer out)
    // This is the "Callback" to access individual frames.
    accessFrame(in);
    // Swap the data between the input & output.
    Object data = in.getData();
    in.setData(out.getData());
    out.setData(data);
    // Copy the input attributes to the output
    out.setFormat(in.getFormat());
    out.setLength(in.getLength());
    out.setOffset(in.getOffset());
    return BUFFER_PROCESSED_OK;
    public Object[] getControls()
    return new Object[0];
    public Object getControl(String type)
    return null;
    public class OverlayCodec extends PreAccessCodec
    long[] myFrames;
    BufferedImage work;
    byte[] workData;
    int width;
    int height;
    int dataLen;
    RGBFormat supportedRGB = new RGBFormat(null, // size
    Format.NOT_SPECIFIED, // maxDataLength
    Format.byteArray, // dataType
    Format.NOT_SPECIFIED, // frameRate
    24, // bitsPerPixel
    3, 2, 1, // red/green/blue masks
    3, // pixelStride
    Format.NOT_SPECIFIED, // lineStride
    Format.FALSE, // flipped
    Format.NOT_SPECIFIED); // endian
    public OverlayCodec(long[] frames)
    // force specific input format
    supportedIns = new Format[] {
    supportedRGB};
    myFrames = new long[frames.length];
    System.arraycopy(frames, 0, myFrames, 0, frames.length);
    public String getName()
    return "Capture Codec";
    public Format setInputFormat(Format format)
    if ((format != null) && (format instanceof RGBFormat)
    && format.matches(supportedRGB))
    // set up working image if valid type
    // (it should be since we insisted!)
    Dimension size = ((RGBFormat) format).getSize();
    width = size.width;
    height = size.height;
    dataLen = width * height * 3;
    if ((dataLen > 0)
    && ((work == null) || (work.getWidth() != width)
    || (work.getHeight() != height)))
    // working image - same 3-byte format as buffer
    work = new BufferedImage(width, height,
    BufferedImage.TYPE_3BYTE_BGR);
    // reference to pixel data
    workData = ((DataBufferByte) work.getRaster().getDataBuffer()).getData();
    return format;
    * Callback to access individual video frames.
    void accessFrame(Buffer in)
    try
    if (Arrays.binarySearch(myFrames, in.getSequenceNumber()) >= 0)
    BufferToImage stopBuffer = new BufferToImage((VideoFormat) in.getFormat());
    Image stopImage = stopBuffer.createImage(in);
    BufferedImage outImage = new BufferedImage(140, 96,
    BufferedImage.TYPE_INT_RGB);
    Graphics og = outImage.getGraphics();
    og.drawImage(stopImage, 0, 0, 140, 96, null);
    FileOutputStream fout = new FileOutputStream("image"
    + in.getSequenceNumber() + ".jpg");
    writeImage(outImage, fout);
    catch (Exception e)
    e.printStackTrace();
    public int process(Buffer in, Buffer out)
    try
    accessFrame(in);
    BufferToImage stopBuffer = new BufferToImage((VideoFormat) in.getFormat());
    Image stopImage = stopBuffer.createImage(in);
    ImageToBuffer outImagebuffer = new ImageToBuffer();
    out = outImagebuffer.createBuffer(stopImage, p.getRate());
    // Swap the data between the input & output.
    in.copy(out, true);
    catch (Exception e)
    e.printStackTrace();
    return BUFFER_PROCESSED_OK;
    void writeImage(BufferedImage outImage, OutputStream os) throws Exception
    Iterator writers = ImageIO.getImageWritersByFormatName("jpg");
    ImageWriter writer = (ImageWriter) writers.next();
    ImageOutputStream ios = ImageIO.createImageOutputStream(os);
    writer.setOutput(ios);
    writer.write(outImage);
    ios.close();

    Hi,
    I have a jpeg movie file 60 mins long and a text file tell me five time-lines for breaking the movie. For example, break the movie at 10:21, 16:05�
    The final output should be five small jpeg movie files. Each file contains a 90 sec (30 sec before the break time and 60 sec after the break time).
    Do you know any java library (jar) contain the library that can help me on programming this? Any existing source code? Any SDK for a movie editor can do that?
    Please help.
    Thanks
    Kenny

  • Is there a  way to run flash player on iPAd?

    I am rather unhappy that I cannot run FlashPlayer on my iPad. I can't run most of my weather sites without it. As a boat captain I rely on weather sites for safety among other things and when I travel it becomes even more important. I find it ridiculous that apple won't run Flash and Java. If I can't run these I will go back to my laptop.

    What you rather unfriendly and DEFINITELY unhelpful people fail to realize is 1) I am still, regrettably, using my laptop BECAUSE the iPad cannot run Flash Player. 2) As a PROFESSIONAL, whose livelihood and safety depend largely on weather and the ability to forecast CORRECTLY, not just with a pretty forecaster or cute comments, I SUBSCRIBE to PAY weather services which are much more accurate and detailed than the Weather Channel and Accuweather which try for mass appeal. SO STOP TELLING MY WHAT SIGHTS I SHOULD USE? After 30 years (20 with Internet) I chose my sites because of their quality. 3) I ASKED A SIMPLE QUESTION. With the exception of one or two answers, all the rest of you chose to attack me and criticize me for not wanting to use HTML5 or whatever garbage Apple chooses t shove in my face.
    I could give a rat's &amp;$@ what you think of me. I wanted to know if Apple could work for me and now I know it cannot. For now I will continue to lug my heavy laptop around and I will dedicate more time to researching a
    Ight alternative. You APPLE JUNKIES are ridiculous. If somebody is unhappy with anything Apple, it is never Apple's fault. OK you run out and buy whatever you are TOLD. I for one choose to buy what works for me. I bout the iPad because everyone raved about how great it was - well, I found out that wasn't true.. in the few months I have owned it I have encountered MANY people unhappy with it for various reasons. YES IT WAS MY FAULT I PURCHASED IT WITHOUT SUFFICIENT RESEARCH--- I WON'T MAKE THAT MISTAKE AGAIN.
    All you know-it-alls, can have your junk. I am happy with myself and when I make a mistake I recognize it and change it. I am doing that. I have no use for any of you. you are no help to anyone. Fortunately, I can go back to wonderful life out on the ocean, being paid for what most of you can only dream about doing even once. you on the other hand can go back to your litle cubiclels taking whatever corporate America shoves down your throat and believing it is best for you.
    LASTLY, how is it that anyone who has a complaint is a troll? Do you all work for Apple? Or ar you just THAT BRAINWASHED? how lame a life you must have.

Maybe you are looking for

  • Problems with image display

    Hi, I am new to J2ME, and this forum as well. I am writing a small MIDlet to display an image using WTK1.4. The problem is that the image (500X400) is not being displayed wholly on the emulator screen. In fact, only a very small portion of it is bein

  • When I write or try to Forward a email, my address list has disappeared. How do I get it back?

    When I write an email or forward it, my address list used to pop up on a sidebar so I could select who to send it to. All of a sudden it no longer appears when I compose an email or attempt to forward it. How do I get it back?

  • Cropped image not filling the same size cell

    Hi all, I've been seeing an interesting issue with the print module in LR3.  OS is Win7 64-bit BTW. Take an image, crop it to 8x10, 5x7 or whatever.  Go to Print Module and select an 8x10 cell size template or a 5x7 (2) cells sized template..  The im

  • MRP run for limited period

    Hi all, My client wants to enter PIR in MD61 for next 12 months. But MRP run should create requirements only for next 3 months.How can this be achieved. kindly help. Can defining planning horizon help me or there is some other control? Regards.

  • Why is the map in uae not working

    hi In UAE we face problems with maps. we can select one place but cannot go their (direction not working). Another this is Passbook doesn't work in UAE