anche se hora però sono bloccato quì:

codice:
	while(1)
	{
		if(stop_thread_flag)
			break;
		// CALLBACK EVENT
		WaitForSingleObject(hevent, INFINITE);

		if(buff[k].dwFlags & WHDR_DONE)
		{
			// Encode chunk by chunk
			while(dwLoop < dwNumChunks)
			{
				// copy part of the buffer
				memcpy(
pWAVChunk, buff[k].lpData + dwChunkSeek, hashChunk[dwLoop]);
				// Encode samples
				printf("encode\n");
				result = beEncodeChunk(hbeStream, 
hashChunk[dwLoop], pWAVChunk, pMP3Buffer, &dwWrite);
				// Save
				hFile.write((LPSTR)pMP3Buffer, dwWrite);
				dwChunkSeek += hashChunk[dwLoop];
				++dwLoop;
			}
			dwLoop      = 0;
			dwChunkSeek = 0;
			waveInAddBuffer(hwi, &buff[k], sizeof(WAVEHDR));
		}
mi va in errore: beEncodeChunk() ma sembra tutto giusto :-(