Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7410269
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 29, 20262026-05-29T06:12:36+00:00 2026-05-29T06:12:36+00:00

I’m using Component Manager in a Mac app to get the list of installed

  • 0

I’m using Component Manager in a Mac app to get the list of installed components (my app is a video player, and I want to get at the list of of installed QuickTime codecs).

I have code like this:

- (void) findComponents
{
    ComponentDescription desc;
    desc.componentType = 0;
    desc.componentSubType = 0;
    desc.componentManufacturer = 0;
    desc.componentFlags = 0;
    desc.componentFlagsMask = 0;

    long numComps = CountComponents( &desc );
    NSLog( @"found %ld components", numComps );

    Component aComponent = 0;
    while( (aComponent = FindNextComponent( aComponent, &desc) ) ) {
        // Do stuff with this component.
    }
}

When I compile my app 32-bit, it works as I’d expect (927 components come back from CountComponents). However, when compiled 64-bit, CountComponents returns only 85 components (none of which are the QuickTime codecs I’m looking for).

The Component Manager docs don’t say anything about 64-bit issues with CountComponents/FindNextComponent. It’s worth noting that the (admittedly ancient) Apple DTS sample code upon which this code is based has the same issue when compiled 64-bit.

Any ideas what I’m doing wrong? I don’t want to have to resort to manually finding components and parsing ‘thng’ resources.

EDIT: is it possible that in a 64-bit app, Component Manager is only listing the 64-bit components? In which case, perhaps this functionality could be built into a 32-bit shared library, and called from my 64-bit app?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-29T06:12:37+00:00Added an answer on May 29, 2026 at 6:12 am

    However, when compiled 64-bit, CountComponents returns only 85 components (none of which are the QuickTime codecs I’m looking for).

    QuickTime codecs that use the QuickTime C API are 32-bit only, and Apple have not ported that API to 64-bit. Note that, application-wise, you can use QTKit, the new Objective-C API. QTKit tries to use QuickTime X to play a movie; if it can’t because there’s no suitable QuickTime X codec available, it falls back to QuickTime 7, which in turn is able to use old QuickTime components. This is transparent for developers that use QTKit.

    Is it possible that in a 64-bit app, Component Manager is only listing the 64-bit components?

    Yes, that’s correct. Note that it is not possible to mix 32-bit and 64-bit code in the same process, so it makes sense that Component Manager would limit queries to the components that could be loaded onto the process: 32-bit components for a 32-bit process, 64-bit components for a 64-bit process.

    In which case, perhaps this functionality could be built into a 32-bit shared library, and called from my 64-bit app?

    As described above, you won’t be able to load a 32-bit dynamic library onto a 64-bit process. What you can do is to create a separate 32-bit helper executable and use it to obtain a list of 32-bit components. You can share the source code that list components amongst your main application and the helper executable, but they must be separate executables.

    In fact, you can see this in action if you use QuickTime X to play a movie that requires a 32-bit QuickTime component: a 32-bit QTKitServer process is spawned in order to decode the movie using a QuickTime component and send the results back to 64-bit QuickTime X. John Siracusa describes this in his Snow Leopard Review. You may also want to take a look at the Adopting QuickTime X for Playback section in QTKit Application Programming Guide.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

We're building an app, our first using Rails 3, and we're having to build
I am using Paperclip to handle profile photo uploads in my app. They upload
I'm new to using the Perl treebuilder module for HTML parsing and can't figure
That's pretty much it. I'm using Nokogiri to scrape a web page what has
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I want to count how many characters a certain string has in PHP, but
I am reading a book about Javascript and jQuery and using one of the
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I'm using v2.0 of ClassTextile.php, with the following call: $testimonial_text = $textile->TextileRestricted($_POST['testimonial']); ... and
I want use html5's new tag to play a wav file (currently only supported

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.