How can I fill down with this formula
=IF((D2>0, C2-D2, G2) but I want G2 to remain for each cell, I only want the true condition to change. So cell E3's formula would be =IF((D3>0, C3-D3, G2) and so on.
Thanks
GE,
You might enjoy reading Chapter 6 of the Numbers User Guide PDF. You can download it from the Help menu.
On page 129 there is a section titled Distinguishing Absolute and Relative Cell References that addresses your situation. The dollar sign signifies the column or row in the formula as being Absolute (vs. Relative). Absolute references don't update when you Fill or Copy/Paste.
Jerry
Similar Messages
-
I have problem with my iphone 4s my battery is not keeping charge. how can I get help with this one? it is less than a year that I purchased this cell.
I would like to know the answer to that one. I realized this was happening just after upgradeing my iOS to 6. Then when I looked up my purchase date, I was about 5 days past my one year warranty. So I'm dead in the water. Apple will replace the battery, but it will be about $80+. I took it to the Apple store, and they checked a bunch of stuff, but said that it seemed ok. I'm debating getting a battery for a more reasonable price off of ebay. But if it's the iOS thats draining the battery, then I'm not going to be able to help it. I wish I knew a better way to tell if its the battery, the phone, or the iOS.
-
Ipod is disabled for 22,849,620 minutes how can I open ipod with this message?
Ipod is disabled for 22,849,620 minutes how can I open ipod with this message?
Disabled
Place the iOS device in Recovery Mode and then connect to your computer and restore via iTunes. The iPod will be erased.
iOS: Wrong passcode results in red disabled screen
If recovery mode does not work try DFU mode.
How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
For how to restore:
iTunes: Restoring iOS software
To restore from backup see:
iOS: How to back up
If you restore from iCloud backup the apps will be automatically downloaded. If you restore from iTunes backup the apps and music have to be in the iTunes library since synced media like apps and music are not included in the backup of the iOS device that iTunes makes.
You can redownload most iTunes purchases by:
Downloading past purchases from the App Store, iBookstore, and iTunes Store -
How can I fill mask with pattern?
Hi
Would you please help me? How can a add pattern to a mask? I drew a motion mask on video clip and now I want to fill it with pattern that I made in Photoshop and saved as PSD, what should I do? How can I fill mask with specific pattern?
Thanks for any helpAE doesn't directly support a pattern-fill like PS, so here's a workaround (as Mylenium suggested):
Create a PS document and create a layer filled with the pattern required.
Import the layer/PSD to AE and place in timeline.
Place a copy of the masked layer above the Pattern layer.
On the pattern layer, set the Track Matte to Alpha Matte.
Read more here:
http://livedocs.adobe.com/en_US/AfterEffects/8.0/WS3878526689cb91655866c1103906c6dea-7cf9. html -
I just bought a new computer, how can I start syncing with this computer without erasing everything already on my iphone?
Everytime I try to use the option sync manual it wants me to erase everything.
Please helpThe iPhone can be synced to one and only one computer at a time. Before you "marry" it to your new computer, be sure your new computer contains all the old computer's information. When you sync the iPhone to a new computer, it will be erased first. Then, whatever is on your iTunes Library will be synced to the iPhone.
Read: iTunes: How to move your music to a new computer
You can also copy its previous backup from the old computer to the new one, then "restore from backup".
From iTunes: About iOS backups
Where iTunes backups are stored on your computer
The folder where your backup data are stored varies depending on the computer's operating system. Make sure the backup folder is included in your periodic data-backup routine.
iTunes places the backup files in the following places:
Mac: ~/Library/Application Support/MobileSync/Backup/
Windows XP: \Documents and Settings\(username)\Application Data\Apple Computer\MobileSync\Backup\
Note: To quickly access the Application Data folder, click Start, and choose Run. Type %appdata% and click OK.
Windows Vista and Windows 7: \Users\(username)\AppData\Roaming\Apple Computer\MobileSync\Backup\
Note: To quickly access the AppData folder, click Start. In the search bar, type %appdata% and press the Return key. -
How can i fix uncomplite with this iphone???
Whene i went to download dragon city mobile the iphone send me massage this app un complite withe this iphone
if the app require a newer ios version then your phone have and or support there is nothing you can do
-
How can ANYONE be happy with this piece of junk? Seriously?
I started by importing my iPhoto library. It's 10k pictures, many if
which I could probably delete if I had a good tool like Aperture to
help me. In iPhoto I have about 50 or 60 keywords and I have applied
at least some keywords to lots of my pictures. When I try to search my
photos by keyword in iPhoto, it responds instantly, much like Apple's
spotlight technology does.
The first thing I noticed was that just bringing up the filter window
takes 60 seconds. I wish I were kidding. The other thing I noticed
was, As I am adjusting the filter, or adding new criteria like EXIF
aperture setting, the software automatically starts searching even
before I have finished specifying all the criteria. Normally I think
that wouldn't bother me, but it took 60 seconds to perform each filter
operation.
OK - so filter is slow, I'll get over it. I really wanted this app for
the image management and adjustments capabilities. So, I found an
image that had a bad exposure and I selected the exposure slider and
moved it to the right to brighten the picture. My CPU pegged for
several minutes before the slider moved one pixel and any visible
changes appeared on the screen. It shouldn't take minutes, it should
take milliseconds, like in iPhoto or Picasa or any other image
manipulation program I have ever run.
I think the problem is that it was creating a new version of the
image, and I came to discover that any operation that affects the
number of images in your "working set" can take minutes or more.
There are many other really simple operations I wanted to do which I
could not do because the application pegged the CPU for hours and made
no visible progress, and I was forced to Force Quit the
application. Here's a perfect example. I noticed that all the photos
imported from my iPhoto library were keyworded with the "iPhoto
Original" keyword. How nice I thought. Then there was another keyword
called "iPhoto Edited" which I thought was even better because what I
really wanted to do was delete all my changes made in iPhoto, go back
the original files, and then make non-destructive versions of those
changes with Aperture.
So, I created a filter to find all the images that had the "iPhoto
Edited" keyword associated with them. Turns how that those images were
already automatically stacked with the corresponding original
versions. So I decided to Unstack the images so I could delete the
"iPhoto Edited" ones. Unfortunately that operation never completed
after hours. I tried selecting just 3 of the images to unstack, and
that took 10 minutes. I tried 10 images at once and that never
completed after an hour. I had to Force Quit the application many
times.
Then somebody gave me the hint that to accomplish this task you need
to do the initial filter, create an album based on the filter results,
and then perform all your operations in that album. I gave that a
try. It took about 10 minutes to set up that album because of the
slowness of the system, but once in that album I found I was able to
unstack images much faster: still hundreds of times too slow, but
still much better. 2 hours later I had them all unstacked, and had
deleted the iPhoto Edited images.
This is the kind of pain we're talking about.
I've tried importing from iPhoto without the keywords to see if that
might be what's making it slow. It appears to be a big part of the
problem but I cannot be sure.
I tried moving my photos out of individual per-roll projects that were
created by the iPhoto import and into a single large project, to see
if that would help. No difference.
Today I ran some kernel tracing tools on Aperture when it seemed to be
quite hung or at least slow, and found a few very disturbing
things. One biggy while deleting 1000 thumbnail images that got
imported when I imported my iPhoto library one directory at a time,
was that it was rewriting the same file:
1388 Aperture CALL stat(0xf0101870,0xf0100fd0)
1388 Aperture NAMI "/Users/jonathan/Pictures/Aperture Library.aplibrary/Aperture.aplib/LatestDeleteDates.plist"
1388 Aperture RET stat 0
1388 Aperture CALL statfs(0xbfffc6e0,0xbfffc5d0)
1388 Aperture RET statfs -1 errno 2 No such file or directory
1388 Aperture RET open 14/0xe
1388 Aperture CALL write(0xe,0x1eb2fa10,0x157)
1388 Aperture GIO fd 14 wrote 343 bytes
"<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/P\
ropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>latestMasterFileDeleteDate</key>
<date>2005-12-09T01:43:58Z</date>
<key>latestMetadataDeleteDate</key>
<date>2005-12-09T01:43:58Z</date>
</dict>
</plist>
1388 Aperture RET write 343/0x157
1388 Aperture CALL fsync(0xe)
It did this thousands of times, and there are several really sad
things about this:
(1) It's the same data and the same file every time.
(2) It calls fsync(0xe) after each write.
The latter means that the program is not going to make any progress
until that data is written from the kernel's memory buffer onto the
hard drive, which could take many milliseconds depending on what
sector the heads are looking at right now! This is insane.
After the images seemed to be deleted, however, Aperture remained CPU
pegged for hours. I didn't realize it and had gone to eat dinner,
dessert, clean the dishes, get beaten badly in Othello by my 7 year
old daughter again, do her piano practice, and put her to bed. So I
kernel traced it again and discovered that it was endlessly seeking
around and then reading 1k blocks from some file, without actually
causing any physical disk I/O. In other words the entire file was
somehow in memory and Aperture was just running around in circles
reading chunks of it ... for hours, CPU pegged the whole time. I had
to "Force Quit" again.
So, I ask you, What is this program good for? As far as I can tell,
nothing works properly once you pass a certain number of images in the
library.
Here's what I think Aperture can be good for: load your new "roll" of
digital pictures into it. Hopefully fewer than 500 photos. Use all the
cool tools to group and stack, adjust the color tempurature, white
balance, sharpness, crop it, etc. Then export it to some random folder
and import than folder into iPhoto (or whatever you want to use to
manage your photo database). Then delete the photos from Aperture.
Folks, I am sorry to tell you this, but this is a program with bad
bones and it's not going to get fixed soon. I hope I can get my money
back. I've already been told that I cannot because I installed it, but
I am going to complain and make sure they at least know how bad this
is.
Believe me I wanted this to be the best program ever. I have used
Final Cut Pro and Photoshop on my mac, and those programs are two of
the very best I have ever used. They are fast, extremely good at what
they do, perform well on much lower-performing hardware (e.g., my imac
G4 with 512Mb RAM), and they are just great in every way. I told all
my friends, "My love affair with the Mac can continue despite my
disatifaction with iPhoto because they have created another Pro tool
called Aperture which looks like the best thing ever!" But those demos
were all staged with very few photos in the libraries.
Mac OS X (10.4.3)
Dual 2.5Ghz Power Mac w/3Gb RAM Mac OS X (10.4.3)I've done some research on the SQLite database. Whenever Aperture hangs up (like during auto-stack or opening the filter hud) there are thousands of SQLite queries happening. These SQLite queries cause massive file I/O because the database is stored on the disk as 1kb pages. However, the OS is caching the database file; mine's only 12MB. I'm trying to track down some performance numbers for SQLite on osx but having trouble.
It's starting to look like most of the speed problems are in the libraries that Aperture uses instead of the actual Aperture code. Of course, that doesn't completely let the developers off the hook since they choose to use them in the first place.
Oh, and if anyone is curious, the database is completely open to queries using the command line sqlite3 tool. Here's the language reference http://www.sqlite.org/lang.html
Hmm, just found this. Looks like someone else has been playing around in the db http://www.majid.info/mylos/stories/2005/12/01/apertureInternals.html
Dual 1.8 G5 Mac OS X (10.4.3) 1GB RAM, Sony Artisan Monitor, Sony HC-1 HD Camera -
How can i fill letters with an image
I am extremely new to mac software, I loved publisher on ms. I want to do bold lettering for wall displays but I want to fill the letters with images of what the heading is about. For example, when I did the vikings, I wrote each individual letter out very big and filled the letter with an image relating to the vikings, I am assuming this is possible on the mac, but I can't figure it out. Please help. I need my labelling done before I get back after the summer break!
If you installed Windows on your MBP (Bootcamp or Parallels) you could use the same software. Otherwise you will have to search of a Mac compatible version or some other alternative.
Ciao. -
How can I generate AVI with this code?
Here is the code which I got
import java.io.*;
import java.util.*;
import java.awt.Dimension;
import javax.media.*;
import javax.media.control.*;
import javax.media.protocol.*;
import javax.media.protocol.DataSource;
import javax.media.datasink.*;
import javax.media.format.VideoFormat;
* This program takes a list of JPEG image files and convert them into
* a QuickTime movie.
public class JpegImagesToMovie implements ControllerListener, DataSinkListener {
public boolean doIt(int width, int height, int frameRate, Vector inFiles, MediaLocator outML) {
ImageDataSource ids = new ImageDataSource(width, height, frameRate, inFiles);
Processor p;
try {
System.err.println("- create processor for the image datasource ...");
p = Manager.createProcessor(ids);
} catch (Exception e) {
System.err.println("Yikes! Cannot create a processor from the data source.");
return false;
p.addControllerListener(this);
// Put the Processor into configured state so we can set
// some processing options on the processor.
p.configure();
if (!waitForState(p, p.Configured)) {
System.err.println("Failed to configure the processor.");
return false;
// Set the output content descriptor to QuickTime.
p.setContentDescriptor(new ContentDescriptor(FileTypeDescriptor.MSVIDEO));
// Query for the processor for supported formats.
// Then set it on the processor.
TrackControl tcs[] = p.getTrackControls();
Format f[] = tcs[0].getSupportedFormats();
if (f == null || f.length <= 0) {
System.err.println("The mux does not support the input format: " + tcs[0].getFormat());
return false;
tcs[0].setFormat(f[0]);
System.err.println("Setting the track format to: " + f[0]);
// We are done with programming the processor. Let's just
// realize it.
p.realize();
if (!waitForState(p, p.Realized)) {
System.err.println("Failed to realize the processor.");
return false;
// Now, we'll need to create a DataSink.
DataSink dsink;
if ((dsink = createDataSink(p, outML)) == null) {
System.err.println("Failed to create a DataSink for the given output MediaLocator: " + outML);
return false;
dsink.addDataSinkListener(this);
fileDone = false;
System.err.println("start processing...");
// OK, we can now start the actual transcoding.
try {
p.start();
dsink.start();
} catch (IOException e) {
System.err.println("IO error during processing");
return false;
// Wait for EndOfStream event.
waitForFileDone();
// Cleanup.
try {
dsink.close();
} catch (Exception e) {}
p.removeControllerListener(this);
System.err.println("...done processing.");
return true;
* Create the DataSink.
DataSink createDataSink(Processor p, MediaLocator outML) {
DataSource ds;
if ((ds = p.getDataOutput()) == null) {
System.err.println("Something is really wrong: the processor does not have an output DataSource");
return null;
DataSink dsink;
try {
System.err.println("- create DataSink for: " + outML);
dsink = Manager.createDataSink(ds, outML);
dsink.open();
} catch (Exception e) {
System.err.println("Cannot create the DataSink: " + e);
return null;
return dsink;
Object waitSync = new Object();
boolean stateTransitionOK = true;
* Block until the processor has transitioned to the given state.
* Return false if the transition failed.
boolean waitForState(Processor p, 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) {
evt.getSourceController().stop();
evt.getSourceController().close();
Object waitFileSync = new Object();
boolean fileDone = false;
boolean fileSuccess = true;
* Block until file writing is done.
boolean waitForFileDone() {
synchronized (waitFileSync) {
try {
while (!fileDone)
waitFileSync.wait();
} catch (Exception e) {}
return fileSuccess;
* Event handler for the file writer.
public void dataSinkUpdate(DataSinkEvent evt) {
if (evt instanceof EndOfStreamEvent) {
synchronized (waitFileSync) {
fileDone = true;
waitFileSync.notifyAll();
} else if (evt instanceof DataSinkErrorEvent) {
synchronized (waitFileSync) {
fileDone = true;
fileSuccess = false;
waitFileSync.notifyAll();
public static void main(String args[]) {
if (args.length == 0)
prUsage();
// Parse the arguments.
int i = 0;
int width = -1, height = -1, frameRate = 1;
Vector inputFiles = new Vector();
String outputURL = null;
while (i < args.length) {
if (args.equals("-w")) {
i++;
if (i >= args.length)
prUsage();
width = new Integer(args[i]).intValue();
} else if (args[i].equals("-h")) {
i++;
if (i >= args.length)
prUsage();
height = new Integer(args[i]).intValue();
} else if (args[i].equals("-f")) {
i++;
if (i >= args.length)
prUsage();
frameRate = new Integer(args[i]).intValue();
} else if (args[i].equals("-o")) {
i++;
if (i >= args.length)
prUsage();
outputURL = args[i];
} else {
inputFiles.addElement(args[i]);
i++;
if (outputURL == null || inputFiles.size() == 0)
prUsage();
// Check for output file extension.
if (!outputURL.endsWith(".avi") && !outputURL.endsWith(".AVI")) {
System.err.println("The output file extension should end with a .avi extension");
prUsage();
if (width < 0 || height < 0) {
System.err.println("Please specify the correct image size.");
prUsage();
// Check the frame rate.
if (frameRate < 1)
frameRate = 1;
// Generate the output media locators.
MediaLocator oml;
if ((oml = createMediaLocator(outputURL)) == null) {
System.err.println("Cannot build media locator from: " + outputURL);
System.exit(0);
JpegImagesToMovie imageToMovie = new JpegImagesToMovie();
imageToMovie.doIt(width, height, frameRate, inputFiles, oml);
System.exit(0);
static void prUsage() {
System.err.println("Usage: java JpegImagesToMovie -w <width> -h <height> -f <frame rate> -o <output URL> <input JPEG file 1> <input JPEG file 2> ...");
System.exit(-1);
* Create a media locator from the given string.
static MediaLocator createMediaLocator(String url) {
MediaLocator ml;
if (url.indexOf(":") > 0 && (ml = new MediaLocator(url)) != null)
return ml;
if (url.startsWith(File.separator)) {
if ((ml = new MediaLocator("file:" + url)) != null)
return ml;
} else {
String file = "file:" + System.getProperty("user.dir") + File.separator + url;
if ((ml = new MediaLocator(file)) != null)
return ml;
return null;
// Inner classes.
* A DataSource to read from a list of JPEG image files and
* turn that into a stream of JMF buffers.
* The DataSource is not seekable or positionable.
class ImageDataSource extends PullBufferDataSource {
ImageSourceStream streams[];
ImageDataSource(int width, int height, int frameRate, Vector images) {
streams = new ImageSourceStream[1];
streams[0] = new ImageSourceStream(width, height, frameRate, images);
public void setLocator(MediaLocator source) {
public MediaLocator getLocator() {
return null;
* Content type is of RAW since we are sending buffers of video
* frames without a container format.
public String getContentType() {
return ContentDescriptor.RAW;
public void connect() {
public void disconnect() {
public void start() {
public void stop() {
* Return the ImageSourceStreams.
public PullBufferStream[] getStreams() {
return streams;
* We could have derived the duration from the number of
* frames and frame rate. But for the purpose of this program,
* it's not necessary.
public Time getDuration() {
return DURATION_UNKNOWN;
public Object[] getControls() {
return new Object[0];
public Object getControl(String type) {
return null;
* The source stream to go along with ImageDataSource.
class ImageSourceStream implements PullBufferStream {
Vector images;
int width, height;
VideoFormat format;
int nextImage = 0; // index of the next image to be read.
boolean ended = false;
public ImageSourceStream(int width, int height, int frameRate, Vector images) {
this.width = width;
this.height = height;
this.images = images;
format = new VideoFormat(VideoFormat.JPEG,
new Dimension(width, height),
Format.NOT_SPECIFIED,
Format.byteArray,
(float)frameRate);
* We should never need to block assuming data are read from files.
public boolean willReadBlock() {
return false;
* This is called from the Processor to read a frame worth
* of video data.
public void read(Buffer buf) throws IOException {
// Check if we've finished all the frames.
if (nextImage >= images.size()) {
// We are done. Set EndOfMedia.
System.err.println("Done reading all images.");
buf.setEOM(true);
buf.setOffset(0);
buf.setLength(0);
ended = true;
return;
String imageFile = (String)images.elementAt(nextImage);
nextImage++;
System.err.println(" - reading image file: " + imageFile);
// Open a random access file for the next image.
RandomAccessFile raFile;
raFile = new RandomAccessFile(imageFile, "r");
byte data[] = null;
// Check the input buffer type & size.
if (buf.getData() instanceof byte[])
data = (byte[])buf.getData();
// Check to see the given buffer is big enough for the frame.
if (data == null || data.length < raFile.length()) {
data = new byte[(int)raFile.length()];
buf.setData(data);
// Read the entire JPEG image from the file.
raFile.readFully(data, 0, (int)raFile.length());
System.err.println(" read " + raFile.length() + " bytes.");
buf.setOffset(0);
buf.setLength((int)raFile.length());
buf.setFormat(format);
buf.setFlags(buf.getFlags() | buf.FLAG_KEY_FRAME);
// Close the random access file.
raFile.close();
* Return the format of each video frame. That will be JPEG.
public Format getFormat() {
return format;
public ContentDescriptor getContentDescriptor() {
return new ContentDescriptor(ContentDescriptor.RAW);
public long getContentLength() {
return 0;
public boolean endOfStream() {
return ended;
public Object[] getControls() {
return new Object[0];
public Object getControl(String type) {
return null;
when I execute this file then no error comes but the output file do not get played on any player?
where is the error?here is the code with QUICKTIME
* @(#)JpegImagesToMovie.java 1.3 01/03/13
* Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved.
* Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
* modify and redistribute this software in source and binary code form,
* provided that i) this copyright notice and license appear on all copies of
* the software; and ii) Licensee does not utilize the software in a manner
* which is disparaging to Sun.
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
* IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE
* LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
* OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR ITS
* LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
* INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
* CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
* OR INABILITY TO USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
* This software is not designed or intended for use in on-line control of
* aircraft, air traffic, aircraft navigation or aircraft communications; or in
* the design, construction, operation or maintenance of any nuclear
* facility. Licensee represents and warrants that it will not use or
* redistribute the Software for such purposes.
import java.io.*;
import java.util.*;
import java.awt.Dimension;
import javax.media.*;
import javax.media.control.*;
import javax.media.protocol.*;
import javax.media.protocol.DataSource;
import javax.media.datasink.*;
import javax.media.format.VideoFormat;
* This program takes a list of JPEG image files and convert them into
* a QuickTime movie.
public class JpegImagesToMovie implements ControllerListener, DataSinkListener {
public boolean doIt(int width, int height, int frameRate, Vector inFiles, MediaLocator outML) {
ImageDataSource ids = new ImageDataSource(width, height, frameRate, inFiles);
Processor p;
try {
System.err.println("- create processor for the image datasource ...");
p = Manager.createProcessor(ids);
} catch (Exception e) {
System.err.println("Yikes! Cannot create a processor from the data source.");
return false;
p.addControllerListener(this);
// Put the Processor into configured state so we can set
// some processing options on the processor.
p.configure();
if (!waitForState(p, p.Configured)) {
System.err.println("Failed to configure the processor.");
return false;
// Set the output content descriptor to QuickTime.
p.setContentDescriptor(new ContentDescriptor(FileTypeDescriptor.QUICKTIME));
// Query for the processor for supported formats.
// Then set it on the processor.
TrackControl tcs[] = p.getTrackControls();
Format f[] = tcs[0].getSupportedFormats();
if (f == null || f.length <= 0) {
System.err.println("The mux does not support the input format: " + tcs[0].getFormat());
return false;
tcs[0].setFormat(f[0]);
System.err.println("Setting the track format to: " + f[0]);
// We are done with programming the processor. Let's just
// realize it.
p.realize();
if (!waitForState(p, p.Realized)) {
System.err.println("Failed to realize the processor.");
return false;
// Now, we'll need to create a DataSink.
DataSink dsink;
if ((dsink = createDataSink(p, outML)) == null) {
System.err.println("Failed to create a DataSink for the given output MediaLocator: " + outML);
return false;
dsink.addDataSinkListener(this);
fileDone = false;
System.err.println("start processing...");
// OK, we can now start the actual transcoding.
try {
p.start();
dsink.start();
} catch (IOException e) {
System.err.println("IO error during processing");
return false;
// Wait for EndOfStream event.
waitForFileDone();
// Cleanup.
try {
dsink.close();
} catch (Exception e) {}
p.removeControllerListener(this);
System.err.println("...done processing.");
return true;
* Create the DataSink.
DataSink createDataSink(Processor p, MediaLocator outML) {
DataSource ds;
if ((ds = p.getDataOutput()) == null) {
System.err.println("Something is really wrong: the processor does not have an output DataSource");
return null;
DataSink dsink;
try {
System.err.println("- create DataSink for: " + outML);
dsink = Manager.createDataSink(ds, outML);
dsink.open();
} catch (Exception e) {
System.err.println("Cannot create the DataSink: " + e);
return null;
return dsink;
Object waitSync = new Object();
boolean stateTransitionOK = true;
* Block until the processor has transitioned to the given state.
* Return false if the transition failed.
boolean waitForState(Processor p, 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) {
evt.getSourceController().stop();
evt.getSourceController().close();
Object waitFileSync = new Object();
boolean fileDone = false;
boolean fileSuccess = true;
* Block until file writing is done.
boolean waitForFileDone() {
synchronized (waitFileSync) {
try {
while (!fileDone)
waitFileSync.wait();
} catch (Exception e) {}
return fileSuccess;
* Event handler for the file writer.
public void dataSinkUpdate(DataSinkEvent evt) {
if (evt instanceof EndOfStreamEvent) {
synchronized (waitFileSync) {
fileDone = true;
waitFileSync.notifyAll();
} else if (evt instanceof DataSinkErrorEvent) {
synchronized (waitFileSync) {
fileDone = true;
fileSuccess = false;
waitFileSync.notifyAll();
public static void main(String args[]) {
if (args.length == 0)
prUsage();
// Parse the arguments.
int i = 0;
int width = -1, height = -1, frameRate = 1;
Vector inputFiles = new Vector();
String outputURL = null;
while (i < args.length) {
if (args.equals("-w")) {
i++;
if (i >= args.length)
prUsage();
width = new Integer(args[i]).intValue();
} else if (args[i].equals("-h")) {
i++;
if (i >= args.length)
prUsage();
height = new Integer(args[i]).intValue();
} else if (args[i].equals("-f")) {
i++;
if (i >= args.length)
prUsage();
frameRate = new Integer(args[i]).intValue();
} else if (args[i].equals("-o")) {
i++;
if (i >= args.length)
prUsage();
outputURL = args[i];
} else {
inputFiles.addElement(args[i]);
i++;
if (outputURL == null || inputFiles.size() == 0)
prUsage();
// Check for output file extension.
if (!outputURL.endsWith(".mov") && !outputURL.endsWith(".MOV")) {
System.err.println("The output file extension should end with a .mov extension");
prUsage();
if (width < 0 || height < 0) {
System.err.println("Please specify the correct image size.");
prUsage();
// Check the frame rate.
if (frameRate < 1)
frameRate = 1;
// Generate the output media locators.
MediaLocator oml;
if ((oml = createMediaLocator(outputURL)) == null) {
System.err.println("Cannot build media locator from: " + outputURL);
System.exit(0);
JpegImagesToMovie imageToMovie = new JpegImagesToMovie();
imageToMovie.doIt(width, height, frameRate, inputFiles, oml);
System.exit(0);
static void prUsage() {
System.err.println("Usage: java JpegImagesToMovie -w <width> -h <height> -f <frame rate> -o <output URL> <input JPEG file 1> <input JPEG file 2> ...");
System.exit(-1);
* Create a media locator from the given string.
static MediaLocator createMediaLocator(String url) {
MediaLocator ml;
if (url.indexOf(":") > 0 && (ml = new MediaLocator(url)) != null)
return ml;
if (url.startsWith(File.separator)) {
if ((ml = new MediaLocator("file:" + url)) != null)
return ml;
} else {
String file = "file:" + System.getProperty("user.dir") + File.separator + url;
if ((ml = new MediaLocator(file)) != null)
return ml;
return null;
// Inner classes.
* A DataSource to read from a list of JPEG image files and
* turn that into a stream of JMF buffers.
* The DataSource is not seekable or positionable.
class ImageDataSource extends PullBufferDataSource {
ImageSourceStream streams[];
ImageDataSource(int width, int height, int frameRate, Vector images) {
streams = new ImageSourceStream[1];
streams[0] = new ImageSourceStream(width, height, frameRate, images);
public void setLocator(MediaLocator source) {
public MediaLocator getLocator() {
return null;
* Content type is of RAW since we are sending buffers of video
* frames without a container format.
public String getContentType() {
return ContentDescriptor.RAW;
public void connect() {
public void disconnect() {
public void start() {
public void stop() {
* Return the ImageSourceStreams.
public PullBufferStream[] getStreams() {
return streams;
* We could have derived the duration from the number of
* frames and frame rate. But for the purpose of this program,
* it's not necessary.
public Time getDuration() {
return DURATION_UNKNOWN;
public Object[] getControls() {
return new Object[0];
public Object getControl(String type) {
return null;
* The source stream to go along with ImageDataSource.
class ImageSourceStream implements PullBufferStream {
Vector images;
int width, height;
VideoFormat format;
int nextImage = 0; // index of the next image to be read.
boolean ended = false;
public ImageSourceStream(int width, int height, int frameRate, Vector images) {
this.width = width;
this.height = height;
this.images = images;
format = new VideoFormat(VideoFormat.JPEG,
new Dimension(width, height),
Format.NOT_SPECIFIED,
Format.byteArray,
(float)frameRate);
* We should never need to block assuming data are read from files.
public boolean willReadBlock() {
return false;
* This is called from the Processor to read a frame worth
* of video data.
public void read(Buffer buf) throws IOException {
// Check if we've finished all the frames.
if (nextImage >= images.size()) {
// We are done. Set EndOfMedia.
System.err.println("Done reading all images.");
buf.setEOM(true);
buf.setOffset(0);
buf.setLength(0);
ended = true;
return;
String imageFile = (String)images.elementAt(nextImage);
nextImage++;
System.err.println(" - reading image file: " + imageFile);
// Open a random access file for the next image.
RandomAccessFile raFile;
raFile = new RandomAccessFile(imageFile, "r");
byte data[] = null;
// Check the input buffer type & size.
if (buf.getData() instanceof byte[])
data = (byte[])buf.getData();
// Check to see the given buffer is big enough for the frame.
if (data == null || data.length < raFile.length()) {
data = new byte[(int)raFile.length()];
buf.setData(data);
// Read the entire JPEG image from the file.
raFile.readFully(data, 0, (int)raFile.length());
System.err.println(" read " + raFile.length() + " bytes.");
buf.setOffset(0);
buf.setLength((int)raFile.length());
buf.setFormat(format);
buf.setFlags(buf.getFlags() | buf.FLAG_KEY_FRAME);
// Close the random access file.
raFile.close();
* Return the format of each video frame. That will be JPEG.
public Format getFormat() {
return format;
public ContentDescriptor getContentDescriptor() {
return new ContentDescriptor(ContentDescriptor.RAW);
public long getContentLength() {
return 0;
public boolean endOfStream() {
return ended;
public Object[] getControls() {
return new Object[0];
public Object getControl(String type) {
return null;
and here is the output
C:\>java JpegImagesToMovie -w 1024 -h 768 -f 1 -o out.mov file:/c:/images/5.jpg file:/c:/images/6.jp
g
- create processor for the image datasource ...
Setting the track format to: JPEG
- create DataSink for: file:C:\\out.mov
start processing...
- reading image file: file:/c:/images/5.jpg
- reading image file: file:/c:/images/6.jpg
Done reading all images.
Exception in thread "JMF thread: SendEventQueue: com.sun.media.processor.unknown.Handler" java.lang.
NullPointerException
at com.sun.media.multiplexer.video.QuicktimeMux.writeVideoSampleDescription(QuicktimeMux.jav
a:936)
at com.sun.media.multiplexer.video.QuicktimeMux.writeSTSD(QuicktimeMux.java:925)
at com.sun.media.multiplexer.video.QuicktimeMux.writeSTBL(QuicktimeMux.java:905)
at com.sun.media.multiplexer.video.QuicktimeMux.writeMINF(QuicktimeMux.java:806)
at com.sun.media.multiplexer.video.QuicktimeMux.writeMDIA(QuicktimeMux.java:727)
at com.sun.media.multiplexer.video.QuicktimeMux.writeTRAK(QuicktimeMux.java:644)
at com.sun.media.multiplexer.video.QuicktimeMux.writeMOOV(QuicktimeMux.java:582)
at com.sun.media.multiplexer.video.QuicktimeMux.writeFooter(QuicktimeMux.java:519)
at com.sun.media.multiplexer.BasicMux.close(BasicMux.java:142)
at com.sun.media.BasicMuxModule.doClose(BasicMuxModule.java:172)
at com.sun.media.PlaybackEngine.doClose(PlaybackEngine.java:872)
at com.sun.media.BasicController.close(BasicController.java:261)
at com.sun.media.BasicPlayer.doClose(BasicPlayer.java:229)
at com.sun.media.BasicController.close(BasicController.java:261)
at JpegImagesToMovie.controllerUpdate(JpegImagesToMovie.java:196)
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) -
How can I get help with this?
Hi There
I am posting this here as my fiancé is pulling her hair out over Verizon's customer service (or lack of it).
I'm from the UK, my fiancé came to visit me from Florida. Originally for 3 weeks then decided to stay for 6 months. I advised her to contact her cable and phone providers and let them know she was out of the country. She did. Verizon suspended her service and that was that.
Until we got back...
We have a bill for 300 dollars. For service we haven't used. She called Verizon and was informed her service had only been suspended for 3 months. Something she was absolutely not told when she made the call or something we asked for.
The operator who took her call said she could only go by what the notes on the call said. Would not take any evidence from us (I can prove she was out of the country with assorted paperwork).
They also claimed there had been calls made on the phone. Which is impossible as the handset was off and out of battery the entire time she was with me. The only thing I can think of is she has Google voice attached to that number and as soon as the number reactivated it started forwarding calls to her Google voice.
Again this didn't occur to us as we were told her phone was deactivated.
So I have one very cross fiancé. Who's fed up and doesn't want to call again as shes frustrated and upset. I am completely furious. I will be looking for a phone myself over here and I have been completely put off of Verizon.
I have always praised US customer service as in the UK we don't do it very well. This however is really poor.
If anyone can offer some advice I would really appreciate it.
Thanks!You can only suspend service for 3 months at a time (with or without payment) and only twice a year.
-
need to have the option enroll ios on the apple beta software program page
That's the wrong email message. There's a separate one that was sent out for iOS.
-
How can I fill a pdf form with Excel?
I have a pdf form and a set of Excel dates. How can I fill the form with this dates?
Is there any way to transform excel dates into a fdf-File?
Thank You for helping
HansI see. That's possible, in theory, but it requires using a complicated custom-made script.
I would suggest using that Mail Merge option that's available in some versions of Excel to produce multiple single-page files, then flatten all of them (using an Action), and then merge them to a single file, to achieve the same result with much less effort. -
How can I fill structure from the line with contetnt of a XML file inside?
How can I fill structure from the line with contetnt of a XML file inside?
I have array of lines with XML documents inside. All XML's have the same structure.
I need to fill array of structures (with the same structure like given XML's) from data of these XML's.
How can I do this? I am trying Transformation with ora:parseEscapedXML, but receive error: "XPath expression failed to execute.
Error while processing xpath expression, the expression is "ora:processXSLT("Transformation_1.xsl", bpws:getVariableData("ProcessedFiles"))", the reason is javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: Could not find function: parseEscapedXML.
Please verify the xpath query."Ive posted the new code but now I'm getting a FileAlreadyExistException error. How do I handle this exception error correctly in my code?
import java.io.IOException;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.Paths;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class MyDomParser {
public static void main(String[] args) {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("ENtemplate.xml");
doc.normalize();
NodeList rootNodes = doc.getElementsByTagName("templates");
Node rootNode = rootNodes.item(0);
Element rootElement = (Element) rootNode;
NodeList templateList = rootElement.getElementsByTagName("template");
for(int i=0; i < templateList.getLength(); i++) {
Node theTemplate = templateList.item(i);
Element templateElement = (Element) theTemplate;
System.out.println(templateElement.getAttribute("name")+ ".xml");
for(int i=0; i < templateList.getLength(); i++) {
Node theTemplate = templateList.item(i);
Element templateElement = (Element) theTemplate;
String fileName = templateElement.getAttribute("name") + ".xml";
Files.createFile(Paths.get(fileName));
System.out.println("File" + ":" + fileName + ".xml created");
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace(); -
I have applied the icloud on my sisters id accidently. How can I no w remove this information and set up my own Icloud on another computer with out loosing either of our information from the phone.
Please read before going through with this procedure.
If you really want your contact back and you did not do another iCloud backap since you deleted some of your contacts, you can do a hard reboot on both devices with iClouded contacts by holding down the home and lock buttons on each of them for 10 seconds ignoring the slide to turn off thing. Make sure you have iCloud contact services off before doing so. You can then go through the whole set up process until you get up to the backup part. You then press to restore from an iCloud backup (make sure you choose the right backup for the right phone). If you didn't make an iCloud backup before the contact incident, you will have to use your two-month-old iTunes backups. Each phone should have their contacts the way they were from your last backup. You then go into Settings>iCloud>and turn off contacts. You then can choose if you want to keep your current contacts or not. Turn this off on both phones just incase you add another iCloud device to the mix later on. Now your contact lists are no longer linked (Caution: side effect may include lack of edit button). You may now add and delete contacts as you please without it happening on your other phone.
Thank you for choosing Apple. -
Hi! I sold my Iphone on ebay. The seller wants to connect the Iphone with his Apple ID, but it did not work because it says that the Iphone is already connected with another Apple ID. How can I get rid of this old connection? What do I have to do?
What to do before selling or giving away your iPhone, iPad, or iPod touch
http://support.apple.com/kb/HT5661
MaggySimpson wrote:
Hi! I sold my Iphone on ebay.
Follow the instructions to remove a device you no longer have.
From here > http://support.apple.com/kb/PH13695?viewlocale=en_US
Maybe you are looking for
-
How do you get Personal Groups into iphone 5s?
I have a few personal groups on my outlook account that i use quite often. Is there a way i can import the personal groups i have from my outlook account to my iphone 5s? That way when i sent an e-mail, I can just send it to groups instead of typing
-
How do I uninstall an app on a macbook?
How do I uninstall an app on a macbook?
-
Haven't been able to find a similar problem on here, but apologies if this is a repetition of another discussion. Some of the files in my Itunes library popped up with the little exclamation mark next to them, so I attempted to locate them. It's been
-
Satellite M55-s3315: Screen refresh rate is 60 Hertz?!
I have bought Toshiba m55-s3315 analog m50-s.... with intel 910 built-in, shared dynamic 128 mb memory; screen - 14.0" WXGA widescreen display with Toshiba TruBrite . Only refresh rate i get is 60 Hertz. I have updated intel chip software and toshiba
-
Hi all, After chaining the test data, is it req. to open test data container and upload the latest file? How to Automatically pick the latest test data? Regards, Sree...