X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <7c5010d60803100548o2ab50c0bg83fc8bade769d2aa@mail.gmail.com> Date: Mon, 10 Mar 2008 13:48:11 +0100 From: "Giovanni Maruzzelli" To: cygwin AT cygwin DOT com Subject: problem with waveinopen under Vista MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Hi Cygwin developers, I got a problem using waveInOpen under Vista: 1) As soon as waveInOpen is called, the cpu load becomes very high, 80% on a quad core. 2) To cause the high load it is not needed to use the wavein, just to open it. 3) Under XP, no problems. 4) If you compile under vista with -mno-cygwin and execute with a double click on it, no problem. 5) If you compile using cygwin, and execute it from bash, 80% load. See below a very simple test case. You can compile it without cygwin and then execute it with a double click: gcc -mno-cygwin -Wall waveinopen_vista.c -o waveinopen_vista -l winmm or you can compile it with cygwin and execute it from bash: gcc -Wall waveinopen_vista.c -o waveinopen_vista -l winmm ======================================= #include #include #include /* Handle to the WAVE In Device */ HWAVEIN WaveInHandle; int main(int argc , char ** argv) { MMRESULT err; WAVEFORMATEX waveFormat; /* Initialize the WAVEFORMATEX */ waveFormat.wFormatTag = WAVE_FORMAT_PCM; waveFormat.nChannels = 2; waveFormat.nSamplesPerSec = 44100; waveFormat.wBitsPerSample = 16; waveFormat.nBlockAlign = waveFormat.nChannels * (waveFormat.wBitsPerSample/8); waveFormat.nAvgBytesPerSec = waveFormat.nSamplesPerSec * waveFormat.nBlockAlign; waveFormat.cbSize = 0; /* Open the default WAVE In Device */ /* if you open it with or without a callback thread, the cpu load is the same */ //err = waveInOpen(&WaveInHandle, WAVE_MAPPER, &waveFormat, // (DWORD)err, 0, CALLBACK_THREAD); err = waveInOpen(&WaveInHandle, WAVE_MAPPER, &waveFormat, 0, 0, CALLBACK_NULL); printf("\n\nciao!!!\n\n"); Sleep(500000000); printf("\n\ngoodbye!!!\n\n"); return 0; } -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/