On Sep 8, 2006, at 5:23 AM, Michael Rondinelli wrote:
I'm having some difficulty with QTKit. My app is predominantly
using the C API, but we would like to use just a handful of QTKit
routines as conveniences. It seems though as soon as we touch any
QTKit API it attaches this +[QTMovie idleAllMovies] call to a timer
which causes us random crashes.
In this case the sole call we make is [QTMovie movieFileTypes:] so
we can get a file type filter for an open dialog. It's really a
shame that we have to avoid QTKit entirely because we can't adopt
it 100%. Is there a way to make it cooperate better and not trigger
idleAllMovies?
No, there is currently no public API for preventing the creation of
that timer.
I see two workarounds for you:
(1) Your best bet would be to figure out why you are crashing in
response to the movie tasking done by +[QTMovie idleAllMovies]. My
first guess, having seen this kind of issue several times before,
would be that your movies don't have a valid GWorld. You can perhaps
stop the crashes by ensuring that every movie you open with non-QTKit
APIs has a valid GWorld, even if you are never drawing the movies on
screen. Just create a 1-by-1 GWorld and assign it to the movie. You
can use the same GWorld for all non-QTKit opened movies.
(2) There may be some private QTKit methods for preventing that timer
from actually doing any work. (nm is your friend....) If you are not
actually creating any QTMovie objects, then that might help you out.
The downside is that you are then relying on private methods, which
is sometimes dangerous.
As I said, we have seen this issue before -- and we are likely to
have public methods in Leopard which will address the issue of
idleAllMovies tasking movies not opened by QTKit.
I would recommend filing a bug report and including several crash
logs. This will help me verify my suspicion that the issue relates to
GWorlds. It will also provide additional support for the proposed new
methods.
Tim Monroe
QuickTime Engineering
_______________________________________________
Do not post admin requests to the list. They will be ignored.
QuickTime-API mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quicktime-api/email@hidden