Do not call waveOutReset in uninit if you should wait till playing finishes,

and retry waveOutClose if it fails due to still playing.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28918 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2009-03-09 19:15:20 +00:00
parent 2853105459
commit 2c64a71a29
1 changed files with 2 additions and 1 deletions

View File

@ -243,8 +243,9 @@ static void uninit(int immed)
{
if(!immed)
usec_sleep(get_delay() * 1000 * 1000);
else
waveOutReset(hWaveOut);
waveOutClose(hWaveOut);
while (waveOutClose(hWaveOut) == WAVERR_STILLPLAYING) usec_sleep(0);
mp_msg(MSGT_AO, MSGL_V,"waveOut device closed\n");
free(waveBlocks);
mp_msg(MSGT_AO, MSGL_V,"buffer memory freed\n");