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 "Date 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 Note Update
Version |
Location |
Description |
Submitted By |
Date submitted |
Date 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 |
|
|