Ignore:
Timestamp:
Apr 9, 2000, 1:29:07 PM (25 years ago)
Author:
sandervl
Message:

getposition fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/winmm/dwaveout.cpp

    r3348 r3357  
    1 /* $Id: dwaveout.cpp,v 1.23 2000-04-08 09:16:53 sandervl Exp $ */
     1/* $Id: dwaveout.cpp,v 1.24 2000-04-09 11:29:07 sandervl Exp $ */
    22
    33/*
     
    537537 ULONG rc, nrbytes;
    538538
    539     if(State != STATE_PLAYING)
    540         return 0;
    541 
    542539    mciStatus.ulItem = MCI_STATUS_POSITION;
    543540    rc = mciSendCommand(DeviceId, MCI_STATUS, MCI_STATUS_ITEM|MCI_WAIT, (PVOID)&mciStatus, 0);
     
    645642    if(ulStatus == ERROR_DEVICE_UNDERRUN) {
    646643        dprintf(("WINMM: WaveOut handler UNDERRUN!\n"));
    647         fUnderrun = TRUE;
    648         pause();    //out of buffers, so pause playback
     644        if(State == STATE_PLAYING) {
     645                fUnderrun = TRUE;
     646                pause();    //out of buffers, so pause playback
     647        }
    649648        return;
    650649    }
     
    659658        //last buffer played -> no new ones -> underrun; pause playback
    660659        dprintf(("WINMM: WaveOut handler UNDERRUN!\n"));
    661         fUnderrun = TRUE;
    662         pause();    //out of buffers, so pause playback
     660        if(State == STATE_PLAYING) {
     661                fUnderrun = TRUE;
     662                pause();    //out of buffers, so pause playback
     663        }
    663664        return;
    664665  }
Note: See TracChangeset for help on using the changeset viewer.