Hi,
What should be the proper way to implement support for kAudioChannelLayoutTag_UseChannelDescriptions?
I was not able to find any documentation online.
When I report kAudioChannelLayoutTag_UseChannelDescriptions layout tag for output in my AU plugin, I receive the error below while trying to pass AU validation:
# # AudioChannelLayouts (1), Output Scope:
ChannelLayout is Writable: T
The Unit publishes the following Channel Layouts:
0x0 (Use_Channel_Descriptions)
Is Audio Channel Layout Available:
Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F
X X X X X X X X X X X X X X X X
ERROR: Mismatch between reported channel layouts and reported numChannels
(*please see the full report at the end of this message)
When I use another layout tag (like kAudioChannelLayoutTag_MPEG_7_1_C) for my plugin output, it passes AU validation successfully.
In fact, I need kAudioChannelLayoutTag_MPEG_7_1_C instead of kAudioChannelLayoutTag_UseChannelDescriptions, but I can’t use this format because it is currently
not supported in Logic.
Logic’s developer suggestion was to use kAudioChannelLayoutTag_UseChannelDescriptions insead, and there report the desired number of channels.
Mac Pro, OS X 10.9.5 Mavericks.
--------------------------------------------------
Reported Channel Capabilities (explicit):
Input/Output Channel Handling:
1-1 1-2 1-4 1-5 1-6 1-7 1-8 2-2 2-4 2-5 2-6 2-7 2-8 4-4 4-5 5-5 6-6 7-7 8-8
ca_require: IsStreamFormatWritable(inScope, inElement) NotWritable /Volumes/Data/p4client_Mavericks/ProAudio/SDKs/CoreAudio/1.1/AudioUnits/AUPublic/AUBase/AUBase.cpp:871
# # AudioChannelLayouts (3), Input Scope:
ChannelLayout is Writable: T
The Unit publishes the following Channel Layouts:
0x650002, 0x660002, 0x6A0002,
Is Audio Channel Layout Available:
Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F
Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x650002, New Format Tag = 0x650002, Successsful
Current Format:AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x650002, New Format Tag = 0x6A0002, Successsful
# # AudioChannelLayouts (1), Output Scope:
ChannelLayout is Writable: T
The Unit publishes the following Channel Layouts:
0x0 (Use_Channel_Descriptions)
Is Audio Channel Layout Available:
Mono Stereo Binau. AU_4 Ambi. AU_5 AU_5_0 AU_6 AU_6_0 AU_7_0 AU_7_0F AU_8 AU_5_1 AU_6_1 AU_7_1 AU_7_1F
X X X X X X X X X X X X X X X X
ERROR: Mismatch between reported channel layouts and reported numChannels
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x640001, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x650002, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x6A0002, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x6C0004, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x6B0004, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x6D0005, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x760005, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x6E0006, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x8B0006, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x8C0007, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x940007, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x0, New Format Tag = 0x6F0008, Successsful
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x6F0008, New Format Tag = 0x790006, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x6F0008, New Format Tag = 0x7D0007, Success - did not reset format with mis-matched layout
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x6F0008, New Format Tag = 0x800008, Successsful
Current Format:AudioStreamBasicDescription: 8 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Current Format Tag = 0x800008, New Format Tag = 0x7E0008, Successsful
--------------------------------------------------
AU VALIDATION FAILED: CORRECT THE ERRORS ABOVE.
--------------------------------------------------
validation result: failed validation
|