Note that there are some explanatory texts on larger screens.

plurals
  1. POiOS Audio units reverb stream format issue -10868 kAudioUnitErr_FormatNotSupported
    primarykey
    data
    text
    <p>I am writing a simple iOS app with Audio Units. I want to add a reverberation effect. So the graph looks like RemoteIO_Input -> Reverb -> RemoveIO_Output. But I am getting an error when trying to set up a stream format for the reverb unit - <code>kAudioUnitErr_FormatNotSupported</code>. That code works fine without using the reverb unit (single remote IO in graph) so other configuration seems fine and I am not providing their code.</p> <p>UPD: iOS 6 is used</p> <p>So questions:</p> <ol> <li><p>Are there restrictions for the allowed formats?</p></li> <li><p>What format params should I use?</p></li> <li><p>Should set the format in any scope of RemoteIO output element?</p></li> </ol> <p>Thanks for attention.</p> <p>CODE: Descriptions:</p> <pre><code>desc.componentType = kAudioUnitType_Output; desc.componentSubType = kAudioUnitSubType_RemoteIO; desc.componentFlags = 0; desc.componentFlagsMask = 0; desc.componentManufacturer = kAudioUnitManufacturer_Apple; descRev.componentType = kAudioUnitType_Effect; descRev.componentSubType = kAudioUnitSubType_Reverb2; descRev.componentFlags = 0; descRev.componentFlagsMask = 0; descRev.componentManufacturer = kAudioUnitManufacturer_Apple; </code></pre> <p>Graph set up</p> <pre><code>NewAUGraph(&amp;graph); AUNode ioNode; AUNode rNode; AUGraphAddNode(graph, &amp;desc, &amp;ioNode); AUGraphAddNode(graph, &amp;descRev, &amp;rNode); AUGraphOpen(graph); AUGraphConnectNodeInput(graph, ioNode, 1, rNode, 0); AUGraphConnectNodeInput(graph, rNode, 0, ioNode, 0); </code></pre> <p>Format description and set up</p> <pre><code> // Describe format audioFormat.mSampleRate = rate;//44100.00; audioFormat.mFormatID = kAudioFormatLinearPCM; audioFormat.mFormatFlags = kAudioFormatFlagIsSignedInteger | kAudioFormatFlagIsPacked; audioFormat.mFramesPerPacket = 1; audioFormat.mChannelsPerFrame = 1; audioFormat.mBitsPerChannel = 16; audioFormat.mBytesPerPacket = 2; audioFormat.mBytesPerFrame = 2; OSStatus err = AudioUnitSetProperty(unit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, kInputBus, &amp;audioFormat, sizeof(audioFormat)); if (noErr != err) { [self showStatus:err]; } err = AudioUnitSetProperty(unitRev, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &amp;audioFormat, sizeof(audioFormat)); if (noErr != err) { [self showStatus:err]; } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload