this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at vchroot 83 lines 2.7 kB view raw
1#include "darling-config.h" 2#include "AudioUnit.h" 3#include "AudioOutputUnitComponent.h" 4#include "AudioUnitALSA.h" 5#include <log.h> 6#include <trace.h> 7#include <alsa/asoundlib.h> 8#include <CoreServices/MacErrors.h> 9 10OSStatus AudioUnitInitialize(AudioUnit inUnit) 11{ 12 return inUnit->init(); 13} 14 15OSStatus AudioUnitUninitialize(AudioUnit inUnit) 16{ 17 return inUnit->deinit(); 18} 19 20OSStatus AudioUnitAddRenderNotify(AudioUnit inUnit, AURenderCallback inProc, void* opaque) 21{ 22 return inUnit->addRenderNotify(inProc, opaque); 23} 24 25OSStatus AudioUnitRemoveRenderNotify(AudioUnit inUnit, AURenderCallback inProc, void* opaque) 26{ 27 return inUnit->removeRenderNotify(inProc, opaque); 28} 29 30OSStatus AudioUnitRender(AudioUnit inUnit, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inOutputBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData) 31{ 32 OSStatus status; 33 34 if (inUnit == nullptr) 35 return paramErr; 36 37 *ioActionFlags |= kAudioUnitRenderAction_PreRender; 38 status = inUnit->notifyListeners(ioActionFlags, inTimeStamp, inOutputBusNumber, inNumberFrames, ioData); 39 40 if (status != noErr) 41 return status; 42 43 *ioActionFlags &= ~kAudioUnitRenderAction_PreRender; 44 status = inUnit->render(ioActionFlags, inTimeStamp, inOutputBusNumber, inNumberFrames, ioData); 45 46 if (status != noErr) 47 *ioActionFlags |= kAudioUnitRenderAction_PostRenderError; 48 49 *ioActionFlags |= kAudioUnitRenderAction_PostRender; 50 return inUnit->notifyListeners(ioActionFlags, inTimeStamp, inOutputBusNumber, inNumberFrames, ioData); 51} 52 53OSStatus AudioUnitReset(AudioUnit inUnit, AudioUnitScope inScope, AudioUnitElement inElement) 54{ 55 return inUnit->reset(inScope, inElement); 56} 57 58OSStatus AudioUnitGetProperty(AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement, void* outData, UInt32 *ioDataSize) 59{ 60 return inUnit->getProperty(inID, inScope, inElement, outData, ioDataSize); 61} 62 63OSStatus AudioUnitGetPropertyInfo(AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement, UInt32 *outDataSize, Boolean *outWritable) 64{ 65 return inUnit->getPropertyInfo(inID, inScope, inElement, outDataSize, outWritable); 66} 67 68OSStatus AudioUnitSetProperty(AudioUnit inUnit, AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement, const void *inData, UInt32 inDataSize) 69{ 70 return inUnit->setProperty(inID, inScope, inElement, inData, inDataSize); 71} 72 73OSStatus AudioOutputUnitStart(AudioUnit inUnit) 74{ 75 return static_cast<AudioOutputUnitComponent*>(inUnit)->start(); 76} 77 78OSStatus AudioOutputUnitStop(AudioUnit inUnit) 79{ 80 return static_cast<AudioOutputUnitComponent*>(inUnit)->stop(); 81} 82 83