강좌 & 팁
PortAudio API 를 사용하는 중 쓰레드를 사용하고 싶어 글을 남깁니다.
PortAudio 의 paex_record_file.c 를 보고 만들고 있습니다. 아래의 win32 소스를 linux용으로 바꾸고 싶습니다.
매우쉽다고 나와있는데 저는 매우 어렵내요 ㅠㅠ 고수분들의 도움이 필요합니다.
/* Start up a new thread in the given function, at the moment only Windows, but should be very easy to extend
to posix type OSs (Linux/Mac) */
static PaError startThread( paTestData* pData, ThreadFunctionType fn )
{
#ifdef _WIN32
typedef unsigned (__stdcall* WinThreadFunctionType)(void*);
pData->threadHandle = (void*)_beginthreadex(NULL, 0, (WinThreadFunctionType)fn, pData, CREATE_SUSPENDED, NULL);
if (pData->threadHandle == NULL) return paUnanticipatedHostError;
/* Set file thread to a little higher prio than normal */
SetThreadPriority(pData->threadHandle, THREAD_PRIORITY_ABOVE_NORMAL);
/* Start it up */
pData->threadSyncFlag = 1;
ResumeThread(pData->threadHandle);