Search code examples
quicktimeqtkit

I am looking for QTAtomContainer in headerfiles


a lot of quicktime examples refer to QTAtomContainer to set Movie export parameters.

I've got all that working code from ancient times. Now I am using xcode 4 and the compiler cannot find QTAtomContainer. According to Apples documentation this should be declared in Movie.h. But there is no QTAtomContainer. Does someone know where Apple moved this declaration into or which header I am missing?


Solution

  • I finally I found the problem. In Quicktime a lot of symbols are defined !ONLY! if your xcode-project compiles in PLAIN 32-Bit mode. Universal binaries using "Standard (32/64 bit-Intel)" or just 64-Bit will never find these symbols. ("Standard (32/64 bit-Intel)" is the default setting of the actual xcode 4 series compiler. IMHO Quicktime will/must change. Lion will be shipped with 64Bit by default)

    In "QuickTime/QuicktimeComponents.h" you will find the following line:

    #if !__LP64__
    

    That means if 64 Bit-Code is defined at least once, the compiler will not find the symbols

    QTAtomContainer
    MovieExportGetSettingsAsAtomContainer
    MovieExportComponent
    canMovieExportFiles

    which have been missing until now. Now I can successfully use the example to set the VideoQuality settings in Quicktime using the QTMovieExportSettings key, which you can find here:

    http://www.cocoadev.com/index.pl?QTMovieExportSettings

    I am using the following headers:

    #import <QuickTime/QuickTime.h>  
    #import <QuickTime/Movies.h>  
    #import <QTKit/QTKit.h>  
    

    These headers implicitly include "QuickTime/QuicktimeComponents.h"

    Hope I could help someone else who struggled with this problem.

    Greetings

    Jack