• 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
AU Validation And DebugAssert
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AU Validation And DebugAssert


  • Subject: AU Validation And DebugAssert
  • From: Eric Eizenman <email@hidden>
  • Date: Wed, 6 Sep 2006 14:08:52 -0700

Hi,

Running on 10.3.7 with auval 1.1.2c11.
I'm trying to fix some of the asserts auval throws at me, but I'm having hard-time understanding what actually is broken in our code. The AU validation does succeed, so I guess nothing is really broken, and I only get those asserts because auval is trying to get\set invalid items in the first place. Is it safe to ignore those asserts ?, some of them ?
I don't see those asserts when I'm using SampleEffect or FilterDemo, but this is because they have DEBUG_ASSERT_PRODUCTION_CODE=1 somewhere. I have no idea why they have it set, and I actually see in the target setting DEBUG=1.
It's especially annoying when you try to debug Logic, where the Logic AU Manager will fail the pass just because there was an assert coming.


For example:
VERIFYING REQUIRED PROPERTIES:
VERIFYING PROPERTY: Sample Rate
2006-09-05 11:56:43.202 auval[499]: DebugAssert: Third Party Client: GetElement(inScope, inElement) != NULL InvalidElement [/Developer/ Examples/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:473]


With:
inID = 2
inScope = kAudioUnitScope_Part
inElement = 0

Coming from:
ComponentResult AUBase::DispatchGetPropertyInfo (AudioUnitPropertyID inID,
AudioUnitScope inScope,
AudioUnitElement inElement,
UInt32 & outDataSize,
Boolean & outWritable)
{
ComponentResult result = noErr;
bool validateElement = true;
...


	case kAudioUnitProperty_SampleRate:
		outDataSize = sizeof(Float64);
		outWritable = IsStreamFormatWritable(inScope, inElement);
		break;


... if (result == noErr && validateElement) { require(GetElement(inScope, inElement) != NULL, InvalidElement); } return result; ...

InvalidElement:
	return kAudioUnitErr_InvalidElement;
}

Trimmed log to keep the message short:

[Session started at 2006-09-05 11:56:42 -0700.]

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
AU Validation Tool
Version: 1.1.2c11
Copyright 2003-4, Apple Computer, Inc.


Specify -h (-help) for command options
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *


--------------------------------------------------
VALIDATING AUDIO UNIT: 'aufx' - 'Soap' - 'BIAS'
--------------------------------------------------
Manufacturer String: BIAS Inc
AudioUnit name: SoundSoap
Component Info: BIAS Inc's SoundSoap Audio Restoration
Component Version: 2.0.0 (0x20000)
Component's Bundle Version: 2.1.0

* * PASS
--------------------------------------------------
TESTING OPEN TIMES:
COLD:
Time to open AudioUnit:         55.492 ms
WARM:
Time to open AudioUnit:         298.776  ms
FIRST TIME:
Time for initialization:        4.504 ms

* * PASS
--------------------------------------------------
VERIFYING DEFAULT SCOPE FORMATS:
Input Scope Bus Configuration:
Default Bus Count:1
Default Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x0000002B) 32-bit big-endian float, deinterleaved


Output Scope Bus Configuration:
Default Bus Count:1
Default Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x0000002B) 32-bit big-endian float, deinterleaved


* * PASS
--------------------------------------------------
VERIFYING REQUIRED PROPERTIES:
VERIFYING PROPERTY: Sample Rate
2006-09-05 11:56:43.202 auval[499]: DebugAssert: Third Party Client: GetElement(inScope, inElement) != NULL InvalidElement [/Developer/ Examples/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:473]
2006-09-05 11:56:43.204 auval[499]: DebugAssert: Third Party Client: GetElement(inScope, inElement) != NULL InvalidElement [/Developer/ Examples/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:473]
PASS
VERIFYING PROPERTY: Stream Format
2006-09-05 11:56:43.207 auval[499]: DebugAssert: Third Party Client: GetElement(inScope, inElement) != NULL InvalidElement [/Developer/ Examples/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:473]
2006-09-05 11:56:43.211 auval[499]: DebugAssert: Third Party Client: GetElement(inScope, inElement) != NULL InvalidElement [/Developer/ Examples/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:473]
PASS
VERIFYING PROPERTY: Maximum Frames Per Slice
2006-09-05 11:56:43.213 auval[499]: DebugAssert: Third Party Client: inScope == kAudioUnitScope_Global InvalidScope [/Developer/Examples/ CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:394]
...
PASS
VERIFYING PROPERTY: Last Render Error
2006-09-05 11:56:43.230 auval[499]: DebugAssert: Third Party Client: inScope == kAudioUnitScope_Global InvalidScope [/Developer/Examples/ CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:400]
...
PASS


* * PASS
--------------------------------------------------
VERIFYING RECOMMENDED PROPERTIES:
VERIFYING PROPERTY: Latency
2006-09-05 11:56:43.322 auval[499]: DebugAssert: Third Party Client: inScope == kAudioUnitScope_Global InvalidScope [/Developer/Examples/ CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:379]
...
PASS
VERIFYING PROPERTY: Tail Time
2006-09-05 11:56:43.335 auval[499]: DebugAssert: Third Party Client: AudioUnitGetProperty: *ioDataSize == 0 on entry[/Developer/ Examples/CoreAudio/AudioUnits/AUPublic/AUBase/AUDispatch.cpp:483]
WARNING: Recommended Property is not supported


2006-09-05 11:56:43.338 auval[499]: DebugAssert: Third Party Client: inScope == kAudioUnitScope_Global InvalidScope [/Developer/Examples/ CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:385]
2006-09-05 11:56:43.340 auval[499]: DebugAssert: Third Party Client: AudioUnitGetProperty: *ioDataSize == 0 on entry[/Developer/ Examples/CoreAudio/AudioUnits/AUPublic/AUBase/AUDispatch.cpp:483]
...
PASS


* * PASS
--------------------------------------------------
VERIFYING OPTIONAL PROPERTIES:
2006-09-05 11:56:43.359 auval[499]: DebugAssert: Third Party Client: inScope == kAudioUnitScope_Global InvalidScope [/Developer/Examples/ CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:415]
...
VERIFYING PROPERTY Host Callbacks
2006-09-05 11:56:43.381 auval[499]: DebugAssert: Third Party Client: inScope == kAudioUnitScope_Global InvalidScope [/Developer/Examples/ CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:453]
...
PASS


* * PASS
--------------------------------------------------
VERIFYING SPECIAL PROPERTIES:

VERIFYING CUSTOM UI
Carbon View Components Available: 1
  Component 'auvw' - 'Soap' - 'BIAS'
    PASS

Cocoa Views Available: 0

VERIFYING CLASS INFO
    PASS

TESTING HOST CALLBACKS
    PASS

* * PASS
--------------------------------------------------
PUBLISHED PARAMETER INFO:

...

Testing that parameters retain value across reset and initialization
  PASS

* * PASS
--------------------------------------------------
FORMAT TESTS:

Input/Output Channel Handling:
1-1 1-2 1-4 1-5 2-2 2-4 2-5 4-4 4-5 5-5 5-2 6-6 8-8
X X X X X X
2006-09-05 11:56:43.458 auval[499]: DebugAssert: Third Party Client: IsStreamFormatWritable(inScope, inElement) NotWritable [/Developer/ Examples/CoreAudio/AudioUnits/AUPublic/AUBase/AUBase.cpp:743]


* * PASS
--------------------------------------------------
RENDER TESTS:
Input Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x0000002B) 32-bit big-endian float, deinterleaved
Output Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x0000002B) 32-bit big-endian float, deinterleaved
Render Test at 512 frames
Slicing Render Test at 64 frames
PASS


Render Test at 64 frames, sample rate: 22050 Hz
Render Test at 137 frames, sample rate: 96000 Hz
Render Test at 4096 frames, sample rate: 44100 Hz
Render Test at 4096 frames, sample rate: 192000 Hz
Render Test at 4096 frames, sample rate: 11025 Hz
Render Test at 512 frames, sample rate: 48000 Hz
  PASS

1 Channel Test:
In and Out Format: AudioStreamBasicDescription: 1 ch, 48000 Hz, 'lpcm' (0x0000002B) 32-bit big-endian float, deinterleaved
Render Test at 512 frames
PASS


Checking connection semantics:
Connection format:
AudioStreamBasicDescription: 2 ch, 48000 Hz, 'lpcm' (0x0000002B) 32- bit big-endian float, deinterleaved
PASS
kAudioUnitErr_TooManyFramesToProcess


Checking parameter setting
Using AudioUnitSetParameter
Using AudioUnitScheduleParameter
  PASS

* * PASS
--------------------------------------------------
AU VALIDATION SUCCEEDED.
--------------------------------------------------

AU Validation has exited with status 0.

------------------------------------------------------------------
Eric Eizenman
BIAS Inc., Audio Software Development
------------------------------------------------------------------


_______________________________________________ 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: AU Validation And DebugAssert
      • From: William Stewart <email@hidden>
  • Prev by Date: Re: migration from soundconverter
  • Next by Date: Re: AU Validation And DebugAssert
  • Previous by thread: Re: NSTabView
  • Next by thread: Re: AU Validation And DebugAssert
  • Index(es):
    • Date
    • Thread