Errata


Print Print Icon

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.


Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question



Version Location Description Submitted By Corrected
Printed Page xiv
bottom of the page; just before the heading "About the Examples"

the text states:
"...download sample code, which is located at
http://www.oreillly.com/catalog/9780596008222/"

whereas, the examples are located at:
http://examples.oreilly.com/9780596008222/

Anonymous 
Printed Page xvi
Midway on the page

java -cp jars/qtj-notebook.jar com.oreilly.qtjnotebook.ch02.SimpleQTPlayer

SimpleQTPlayer does not exist in current sample code--BasicQTPlayer does exist
however.

Anonymous 
Printed Page 36
BasicQTURLController.Java source

I confirmed with the author that the BasicQTURLController.Java program fails in
Windows but does work properly in OS X. A bug report has been submitted to Apple.

Anonymous 
Printed Page 199
8th line

The code in the book works as shown, but needs a fix when non-zero timecodes are used.
Here we go:

This code works when the timecode is 00:00:00;00 -- i.e., when you construct the
TimeCodeTime object as shown in the example -- but if you use other timecode values,
you get incorrect values on Windows.

This is because later on, when inserting the sample into the timecode track, you must
use big-endian values for any data you put in a QuickTime data structure, for reasons
described later (on pp. 207-8). This example doesn't do that, so when using non-zero
timecodes, it works on Mac but not Windows.

To expose the problem, change:

TimeCodeTime tcTime = new TimeCodeTime (0, 0, 0, 0);

to

TimeCodeTime tcTime = new TimeCodeTime (1, 2, 3, 4);

To then fix the problem, you need to apply an endian-fix to the frame number returned
from timeCoder.toFrameNumber, before you add the frame number as a sample to the
timecode track. An easy place to fix that is to change:

frameNums[0] = frameNumber;

to

frameNums[0] = EndianOrder.flipNativeToBigEndian32 (frameNumber);

This will create a timecode track that begins at 01:02:03;04, on both Mac and
Windows.

Anonymous 


"...if you do program in Java and you are interested in developing QuickTime applications, then QuickTime for Java(TM): A Developer's Notebook by Chris Adamson (O'Reilly, 2005) should be on your bookshelf. Better yet, it should be propped open on your desk as you work your way though it."
--Tim Monroe, MacTech