Version: 1.0.1

Posted: 2005-07-22

Build Requirements: Xcode 2.1, Xcode 1.2

Runtime Requirements: QuickTime 6.4+, Mac OS X 10.3+

View Source Code:

Download Sample (“BackgroundExporter.zip”, 124.2K)
Download Sample (“BackgroundExporter.dmg”, 183.0K)



Description

The technique presented in this sample may be useful in situations where exporting on separate threads isn't practical , for example in cases where a Movie contains media requiring one or more non-thread safe components to render, and the export applications UI cannot be blocked waiting for the export to happen on the main thread. As an example, earlier version of QuickTime (6.5.2) could not export Sound Media on separate threads. QuickTime 7+ no longer has this limitation.

MovieExportClient launches a background application called MovieExportServer on startup (MovieExportServer is located in the Client apps bundle). The Client let's you select a Movie, configure the QuickTime Movie exporter component and send an export request to the server application. MovieExportServer queues up requests and actually does all the work by calling ConvertMovieToDataRef on the main thread. The Server also sends progress messages back to the client for display in a status window during the export process.

A relatively straight forward approach, the techniques presented here can be expanded to perform batch processing, export from procedures or any other export activity which needs to be on the main thread but is not practical to do from the main application.

Xcode 2.1 project builds universal binary.

Document Revision History

Date Notes
2005-07-22Updated to produce a universal binary. No code changes were required.
2004-08-12Demonstrates techniques which can be used to export QuickTime movies in a separate export process.

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.