This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: problem with waveinopen under Vista


Hi again,

I just updated the entire installation, and the new cygwin.dll got installed.

The test program below, compiled with the new cygwin-1.5.25-11, under
Vista crashes immediately when waveInOpen is called.

If compiled with -mno-cygwin, runs fine under Vista and cygwin-1.5.25-11

Not tested under XP yet.

Ciao,

Giovanni


On Mon, Mar 10, 2008 at 1:48 PM, Giovanni Maruzzelli
<gmaruzz.lists@gmail.com> wrote:
> 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 <windows.h>
>  #include <stdio.h>
>  #include <mmsystem.h>
>
>
>  /* 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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]