Changeset 3655 for trunk/src


Ignore:
Timestamp:
Jun 3, 2000, 2:49:55 PM (25 years ago)
Author:
sandervl
Message:

JvdH: don't start playback in WaveOutRestart when no buffers have been added

File:
1 edited

Legend:

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

    r3357 r3655  
    1 /* $Id: dwaveout.cpp,v 1.24 2000-04-09 11:29:07 sandervl Exp $ */
     1/* $Id: dwaveout.cpp,v 1.25 2000-06-03 12:49:55 sandervl Exp $ */
    22
    33/*
     
    517517        return(MMSYSERR_NOERROR);
    518518    }
    519     wmutex->enter(VMUTEX_WAIT_FOREVER);
    520     State     = STATE_PLAYING;
    521     fUnderrun = FALSE;
    522     wmutex->leave();
    523     curbuf = curPlayBuf;
    524     for(i=0;i<PREFILLBUF_DART;i++) {
    525         MixSetupParms->pmixWrite(MixSetupParms->ulMixHandle, &MixBuffer[curbuf], 1);
    526         if(++curbuf == PREFILLBUF_DART) {
    527                 curbuf = 0;
    528         }
     519    //Only write buffers to dart if mixer has been initialized; if not, then
     520    //the first buffer write will do this for us.
     521    if(fMixerSetup == TRUE) {
     522        wmutex->enter(VMUTEX_WAIT_FOREVER);
     523        State     = STATE_PLAYING;
     524        fUnderrun = FALSE;
     525        wmutex->leave();
     526        curbuf = curPlayBuf;
     527        for(i=0;i<PREFILLBUF_DART;i++) {
     528                MixSetupParms->pmixWrite(MixSetupParms->ulMixHandle, &MixBuffer[curbuf], 1);
     529                if(++curbuf == PREFILLBUF_DART) {
     530                        curbuf = 0;
     531                }
     532        }
    529533    }
    530534    return(MMSYSERR_NOERROR);
Note: See TracChangeset for help on using the changeset viewer.