while(pa_data.samplesToGo > bytesPerInBuffer){ Pa_Sleep(1);}; 
while((pa_active==1) && (pa_data.samplesToGo > bytesPerInBuffer)){ Pa_Sleep(1);}; 
static int output_data(char *buf, int32 nbytes){	unsigned int i;//	if(pa_data.samplesToGo > DATA_BLOCK_SIZE){ //		Sleep(  (pa_data.samplesToGo - DATA_BLOCK_SIZE)/dpm.rate/4  );//	}	if (pa_data.buf+bytesPerInBuffer*2 >= pa_data.bufepoint + nbytes){		memcpy(pa_data.bufepoint, buf, nbytes);		pa_data.bufepoint += nbytes;		buf += nbytes;	}else{		int32 send = pa_data.buf+bytesPerInBuffer*2 - pa_data.bufepoint;		memcpy(pa_data.bufepoint, buf, send);		buf += send;		memcpy(pa_data.buf, buf, nbytes - send);		pa_data.bufepoint = pa_data.buf + nbytes - send;		buf += nbytes-send;	}	pa_data.samplesToGo += nbytes;/*	if(firsttime==1){		err = Pa_StartStream( stream );		if( err != paNoError ) goto error;		firsttime=0;	}*/	if( 0==Pa_StreamActive(stream)){		err = Pa_StartStream( stream );		if( err != paNoError ) goto error;	}    while(pa_data.samplesToGo > bytesPerInBuffer){ Pa_Sleep(1);};//	Pa_Sleep( (pa_data.samplesToGo - bytesPerInBuffer)/dpm.rate * 1000);	return 0;error:	Pa_Terminate(); pa_active=0;	ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "PortAudio error: %s\n", Pa_GetErrorText( err ) );	return -1;}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/421c4c29697a62fd323169251a90eac321d16d1e/portaudio_a.c/buggy/timidity/portaudio_a.c