public MTAudioProcessingTapFlags get() { return new MTAudioProcessingTapFlags(getValue()); } public void set(MTAudioProcessingTapFlags value) {
public MTAudioProcessingTapCallbacksStruct(int version, @Pointer long clientInfo, FunctionPtr init, FunctionPtr finalizeCbk, FunctionPtr prepare, FunctionPtr unprepare, FunctionPtr process) { this.setVersion(version); this.setClientInfo(clientInfo); this.setInit(init); this.setFinalizeCbk(finalizeCbk); this.setPrepare(prepare); this.setUnprepare(unprepare); this.setProcess(process); } /*</constructors>*/
@Callback private static void cbProcess(MTAudioProcessingTap tap, @MachineSizedSInt long numberFrames, MTAudioProcessingTapMutableFlags flags, AudioBufferList bufferListInOut, MachineSizedSIntPtr numberFramesOut, MTAudioProcessingTapFlags.MTAudioProcessingTapFlagsPtr flagsOut) { Callbacks cb = null; synchronized (callbacks) { cb = callbacks.get(tap.getStorage()); } long frames = cb.process(tap, numberFrames, flags, bufferListInOut); numberFramesOut.set(frames); flagsOut.set(flags.get()); }
/** * @throws OSStatusException * @since Available in iOS 6.0 and later. */ public static MTAudioProcessingTap create(Callbacks callbacks, MTAudioProcessingTapCreationFlags flags) throws OSStatusException { MTAudioProcessingTap.MTAudioProcessingTapPtr ptr = new MTAudioProcessingTap.MTAudioProcessingTapPtr(); long callbackId = MTAudioProcessingTap.callbackId.getAndIncrement(); MTAudioProcessingTapCallbacksStruct struct = new MTAudioProcessingTapCallbacksStruct(0, callbackId, new FunctionPtr(cbInit), new FunctionPtr(cbFinalize), new FunctionPtr(cbPrepare), new FunctionPtr(cbUnprepare), new FunctionPtr(cbProcess)); OSStatus status = create(null, struct, flags, ptr); if (OSStatusException.throwIfNecessary(status)) { synchronized (MTAudioProcessingTap.callbacks) { MTAudioProcessingTap.callbacks.put(callbackId, callbacks); } return ptr.get(); } return null; } /**
public MTAudioProcessingTapFlags get() { return new MTAudioProcessingTapFlags(getValue()); }
@Callback private static void cbFinalize(MTAudioProcessingTap tap) { long storage = tap.getStorage(); Callbacks cb = null; synchronized (callbacks) { cb = callbacks.remove(storage); } cb.finalize(tap); } @Callback
@Callback private static void cbUnprepare(MTAudioProcessingTap tap) { Callbacks cb = null; synchronized (callbacks) { cb = callbacks.get(tap.getStorage()); } cb.unprepare(tap); } @Callback
@Callback private static void cbPrepare(MTAudioProcessingTap tap, @MachineSizedSInt long maxFrames, AudioStreamBasicDescription processingFormat) { Callbacks cb = null; synchronized (callbacks) { cb = callbacks.get(tap.getStorage()); } cb.prepare(tap, maxFrames, processingFormat); } @Callback
protected /*<name>*/MTAudioProcessingTapCreationFlags/*</name>*/ wrap(long value, long mask) { return new /*<name>*/MTAudioProcessingTapCreationFlags/*</name>*/(value, mask); } protected /*<name>*/MTAudioProcessingTapCreationFlags/*</name>*/[] _values() {
protected /*<name>*/MTAudioProcessingTapFlags/*</name>*/ wrap(long value, long mask) { return new /*<name>*/MTAudioProcessingTapFlags/*</name>*/(value, mask); } protected /*<name>*/MTAudioProcessingTapFlags/*</name>*/[] _values() {
/** * @throws OSStatusException * @since Available in iOS 6.0 and later. */ public long getSourceAudio(long numberFrames, AudioBufferList bufferList, MTAudioProcessingTapMutableFlags flags) throws OSStatusException { CMTimeRange timeRangePtr = new CMTimeRange(); MachineSizedSIntPtr numberFramesPtr = new MachineSizedSIntPtr(); OSStatus status = getSourceAudio0(numberFrames, bufferList, flags, timeRangePtr, numberFramesPtr); OSStatusException.throwIfNecessary(status); this.lastTimeRange = timeRangePtr; return numberFramesPtr.get(); }
@Callback private static void cbInit(MTAudioProcessingTap tap, @Pointer long clientInfo, LongPtr.LongPtrPtr tapStorageOut) { Callbacks cb = null; synchronized (callbacks) { cb = callbacks.get(clientInfo); } cb.init(tap); tapStorageOut.set(clientInfo); } @Callback
public MTAudioProcessingTapFlags get() { return new MTAudioProcessingTapFlags(getValue()); } public void set(MTAudioProcessingTapFlags value) {
public MTAudioProcessingTapFlags get() { return new MTAudioProcessingTapFlags(getValue()); }
public MTAudioProcessingTapFlags get() { return new MTAudioProcessingTapFlags(getValue()); } public void set(MTAudioProcessingTapFlags value) {