get paid to paste

-(OSStatus)start{
	
	audioSourceBuffer.currentReadBuffer = audioSourceBuffer.buffer1;
	audioSourceBuffer.currentWriteBuffer = audioSourceBuffer.buffer1;
	audioSourceBuffer.readPosition = 0;
	audioSourceBuffer.writePosition = 0;
	audioSourceBuffer.length = RemoteIOPlayerBufferSize;
	audioSourceBuffer.lastBufferRead = audioSourceBuffer.buffer2;
	
	
	[source fillBuffer: audioSourceBuffer.currentWriteBuffer numFrames:audioSourceBuffer.length];
	
	
	[NSThread detachNewThreadSelector:@selector(fillBufferIfPossible) toTarget:self withObject:nil];
	
	NSLog(@"start called");
	OSStatus status = AudioOutputUnitStart(audioUnit);
	
	NSLog(@"status is: %u", status);
	return status;
	
}


-(void)fillBufferIfPossible{
	
	[[NSThread currentThread] setThreadPriority:1];
	
	while (YES) {
		if (audioSourceBuffer.lastBufferRead == audioSourceBuffer.currentWriteBuffer) {
			audioSourceBuffer.currentWriteBuffer = audioSourceBuffer.currentWriteBuffer == audioSourceBuffer.buffer1? audioSourceBuffer.buffer2 : audioSourceBuffer.buffer1;
			[source fillBuffer: audioSourceBuffer.currentWriteBuffer numFrames:audioSourceBuffer.length];
		}
		[NSThread sleepForTimeInterval:0.001];
	}
	
}

Pasted: Jan 29, 2011, 8:03:46 pm
Views: 79