Bug 1304 : Video library doesn't work in Snow Leopard (with either Quicktime X or Quicktime 7)
Last modified: 2009-08-16 15:26




Status:
RESOLVED
Resolution:
WONTFIX -
Priority:
P2
Severity:
normal

 

Reporter:
fred
Assigned To:
fry

Attachment Type Created Size Actions

Description:   Opened: 2009-08-15 09:51
Processing 1.0.6 on a Macbook Pro running the GM build of Snow Leopard.

In Snow Leopard (Mac OS 10.6), the video library that interfaces with
Quicktime fails likely due to the changes in Quicktime. Snow Leopard
includes QT X by default, but allows you to install QT 7 too. This doesn't
help, however. It appears that the optional installation of QT 7 doesn't
include the libraries Processing uses to interface with quicktime.

Here's the backtrace of a simple call to the Capture command:
new Capture(this, 640, 480, 10);

Backtrace:

java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(EventQueue.java:1033)
at quicktime.QTSession.<clinit>(QTSession.java:94)
at processing.video.Capture.init(Capture.java:165)
at processing.video.Capture.<init>(Capture.java:152)
at processing.video.Capture.<init>(Capture.java:113)
at vv1.setup(vv1.java:31)
at processing.core.PApplet.handleDraw(PApplet.java:1403)
at processing.core.PApplet.run(PApplet.java:1328)
at java.lang.Thread.run(Thread.java:637)

Caused by: java.lang.UnsatisfiedLinkError:
/System/Library/Java/Extensions/libQTJNative.jnilib: no suitable image
found. Did find: /System/Library/Java/Extensions/libQTJNative.jnilib: no
matching architecture in universal wrapper

at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1878)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1771)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at quicktime.QTSession$1.run(QTSession.java:96)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError:
quicktime.QTSession.Gestalt(I[I)S
at quicktime.QTSession.Gestalt(Native Method)
at quicktime.QTSession.gestalt(QTSession.java:935)
at quicktime.QTSession.open(QTSession.java:641)
at quicktime.QTSession.open(QTSession.java:608)
at processing.video.Capture.init(Capture.java:165)
at processing.video.Capture.<init>(Capture.java:152)
at processing.video.Capture.<init>(Capture.java:113)
at vv1.setup(vv1.java:31)
at processing.core.PApplet.handleDraw(PApplet.java:1403)
at processing.core.PApplet.run(PApplet.java:1328)
at java.lang.Thread.run(Thread.java:637)
Additional Comment #1 From fry 2009-08-15 12:30
That's correct. Apple has removed QuickTime for Java from Snow Leopard, in
part because Snow Leopard no longer supports 32-bit QuickTime, and Apple
has chosen not to update QuickTime for Java.

We'll be replacing the video library in the next few months. In the
meantime, you'll have to use 10.5 or 10.4 to use video on OS X.

(And for anyone who is bummed out about this, please use
bugreport.apple.com to complain to Apple for removing QuickTime for Java,
and their general lack of Java support. It's out of our control.)
Additional Comment #2 From hansi 2009-08-16 15:26
This is a temporary workaround,
but if you play a midi file in quicktime x
the os will ask you if you want to install quicktime 7, which gives you back
video awsomeness :)