• 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: 10.1.5 Compatibility?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 10.1.5 Compatibility?


  • Subject: Re: 10.1.5 Compatibility?
  • From: Jeff Moore <email@hidden>
  • Date: Mon, 20 Jan 2003 11:48:43 -0800

The AudioStreamBasicDescription and AudioTimeStamp structures in <CoreAudio/CoreAudioTypes.h> were modified in the December 2002 DevTools update to make the padding explicit so that there is no guessing about the size of these structures anymore.

On Sunday, January 19, 2003, at 06:28 AM, David Duncan wrote:

On Sunday, January 19, 2003, at 02:08 AM, Jeremy Sagan wrote:

I have a bunch of questions regarding 10.1.5 compatibility and codewarrior,

1. Clearly this structure is 36 bytes
struct AudioStreamBasicDescription
{
Float64 mSampleRate; // the native sample rate of the audio stream
UInt32 mFormatID; // the specific encoding type of audio stream
UInt32 mFormatFlags; // flags specific to each format
UInt32 mBytesPerPacket; // the number of bytes in a packet
UInt32 mFramesPerPacket; // the number of frames in each packet
UInt32 mBytesPerFrame; // the number of bytes in a frame
UInt32 mChannelsPerFrame; // the number of channels in each frame
UInt32 mBitsPerChannel; // the number of bits in each channel
};
But all of the device drivers return arrays of 40 bytes.

The structure is 36 bytes on it's own, but to align the Float64 parameter, when in an array there is an additional 4-byte padding after each structure (36/8=4.5, so without padding only every other mSampleRate member would be aligned).

2. My app was quitting when I called AUParameterValueFromLinear in 10.1.5.

3. My app was also quitting when I called the CoreMIDI function MIDIEndpointGetEntity.

I don't believe that these two functions exist on 10.1.5 (CoreMidi & AudioUnits got a pretty big overhaul for 10.2, so it may be a losing battle to try to target 10.1.5 from 10.2). This is not a CodeWarrior issue, but a 10.1.x -> 10.2 issue. Because Mach-O Weak-linking was only just introduced, if the symbol doesn't exist on 10.1.5 you crash and burn if you try to call it, and you can't check if it exists (easily) beforehand to avoid the crash.

--
Reality is what, when you stop believing in it, doesn't go away.
Failure is not an option. It is a privilege reserved for those who try.

David Duncan
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.



--

Jeff Moore
Core Audio
Apple
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.

References: 
 >Re: 10.1.5 Compatibility? (From: David Duncan <email@hidden>)

  • Prev by Date: Spark XL Demo for AU testing
  • Next by Date: Cocoa and AudioUnits?
  • Previous by thread: Re: 10.1.5 Compatibility?
  • Next by thread: Problems with AUEffectBase w/o Kernels
  • Index(es):
    • Date
    • Thread