• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: User space driver plug-in problems on Tiger
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: User space driver plug-in problems on Tiger


  • Subject: Re: User space driver plug-in problems on Tiger
  • From: Jeff Moore <email@hidden>
  • Date: Wed, 1 Jun 2005 11:26:44 -0700


On Jun 1, 2005, at 3:50 AM, Stéphane Letz wrote:




------------------------------

Message: 4
Date: Tue, 31 May 2005 13:10:36 -0700
From: Jeff Moore <email@hidden>
Subject: Re: User space driver plug-in problems on Tiger
To: CoreAudio API <email@hidden>
Message-ID: <email@hidden>
Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed


Catching up on the back log. Sorry for the delay.

kAudioHardwareBadDeviceError is only ever returned when the
AudioDeviceID in question can't be found. How did you get that ID?


The device ID was read in a preference file that was written by another component that was using kAudioHardwarePropertyDevices property.

I presume you are referring to. AudioDeviceID's are process-specific and therefore cannot be passed between processes. The only persistent ID you can use for this purpose is the device's UID.


Anyway it seems that accessing most of CoreAudio API function fails:

In my plug-in Initialize function, i do :

err = AudioHardwareGetPropertyInfo(kAudioHardwarePropertyDevices, &outSize, &outWritable);

and the returned outSize value is 0 instead of 4...

The size is 0 when there aren't any devices.

My guess is that you are incorrectly depending on the order of initialization of the plug-ins, since the device you are looking for (or any devices for that matter) are available. One of the changes to the HAL was to make plug-in loading lazier. Chances are this is scrambling the order of plug-in loading and the plug-in that implements the device you are looking for hasn't loaded yet.

There have been and continue to be no guarantees about the order of plug-in loading.

I'm still compiling my plug-in on Panther and basically the plug- ins still implements the kAudioHardwarePlugInInterface2ID version of the kAudioHardwarePlugIn interface. Could this be the problem?

Not likely.

I see also that the kAudioHardwarePlugInInterface3ID defines some new entry-points like InitializeWithObjectID, ObjectShow....

Indeed. The HAL added a new layer of object abstraction on top of the older model to better support aggregate devices make controls easier to work with. These methods implement the new model.


Is is absolutely necessary to implements all of them when the plug- in is running on Tiger?

The HAL is meant to be backward compatible with version 1 and version 2 plug-ins, so it is not required for a plug-in to support the version 3 interface on Tiger.


What about Panther compatibility?

I'm pretty sure that version 3 plug-ins will be loaded by a version 2 host as a version 2 interface, but I forget all the nitty gritty details of the COM stuff to be 100% sure.


--

Jeff Moore
Core Audio
Apple


_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: User space driver plug-in problems on Tiger
      • From: Jeff Moore <email@hidden>
References: 
 >Re: User space driver plug-in problems on Tiger (From: Stéphane Letz <email@hidden>)

  • Prev by Date: AUGraphicEQ parameters
  • Next by Date: Re: Preserve pitch
  • Previous by thread: Re: User space driver plug-in problems on Tiger
  • Next by thread: Re: User space driver plug-in problems on Tiger
  • Index(es):
    • Date
    • Thread