Ignore:
Timestamp:
May 6, 2010, 3:08:34 AM (15 years ago)
Author:
David Azarewicz
Message:

Rework buffer management

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OCO/trunk/drv16/ssm_idc.cpp

    r478 r483  
    4343   }
    4444#endif
    45 
    4645   switch (pCommon->ulFunction) {
    4746
    4847      case DDCMD_SETUP: {
     48         ddprintf(("DDCMD_SETUP"));
    4949         if (!pstream)
    5050         {
     
    5656         pstream->SetCurrentTime(psp->ulStreamTime);
    5757
    58            // if there is a flags field in the SETUP_PARM
    59            // the tell MMPM it can send us 'RECURRING' events....
    60          if (p->ulSetupParmSize > sizeof(ULONG)) 
     58         // if there is a flags field in the SETUP_PARM
     59         // the tell MMPM it can send us 'RECURRING' events....
     60         if (p->ulSetupParmSize > sizeof(ULONG))
    6161         {
    62 //            dprintf(("DDCMD_SETUP ParmSize %ld", p->ulSetupParmSize));
     62                        // dprintf(("DDCMD_SETUP ParmSize %ld", p->ulSetupParmSize));
    6363            psp->ulFlags = SETUP_RECURRING_EVENTS;
    6464         }
     
    6868         ddprintf(("DDCMD_READ"));
    6969         PDDCMDREADWRITE p=(PDDCMDREADWRITE) pCommon;
    70 
    7170
    7271         if (!pstream)
     
    7978      }
    8079      // Task time
    81       case DDCMD_WRITE: 
     80      case DDCMD_WRITE:
    8281      {
    8382           PDDCMDREADWRITE p=(PDDCMDREADWRITE) pCommon;
    84            ULONG           Space;
    8583
    8684           if (!pstream)
     
    8987              return ERROR_INVALID_STREAM;
    9088           }
    91 #ifdef PS_Thinking
    92            OSS16_WaveGetSpace(pstream->StreamId, &Space);
    93            ddprintf(("DDCMD_WRITE %lx space %lx",p->ulBufferSize, Space));
    94            if (Space < p->ulBufferSize)
    95            {
    96                DevHelp_ProcBlock (pstream->StreamId, 2, 0);
    97                ddprintf(("DDCMD_WRITE after %lx space %lx",p->ulBufferSize, Space));
    98            }
    99 #endif
    100 //           ddprintf(("DDCMD_WRITE"));
    10189           ulReturnCode = pstream->Write((PSTREAMBUF) p->pBuffer,(unsigned) p->ulBufferSize);
    102            ddprintf(("DDCMD_WRITE %lx rc=%ld",p->ulBufferSize, ulReturnCode));
     90           ddprintf(("DDCMD_WRITE %lx %lx rc=%ld", p->pBuffer, p->ulBufferSize, ulReturnCode));
    10391           if (ulReturnCode)
    10492              return ulReturnCode;
     
    10694      }
    10795      case DDCMD_STATUS: {
    108          ddprintf(("DDCMD_STATUS"));
    109          PDDCMDSTATUS p = (PDDCMDSTATUS) pCommon;
    110          PSTATUS_PARM p2 = (PSTATUS_PARM) p->pStatus;
    111          if (!pstream)
    112            return ERROR_INVALID_STREAM;
    113          p2->ulTime = pstream->GetCurrentTime();
    114 //         ddprintf(("DDCMD_STATUS time:%ld",p2->ulTime));
    115          break;
     96                PDDCMDSTATUS p = (PDDCMDSTATUS) pCommon;
     97                PSTATUS_PARM p2 = (PSTATUS_PARM) p->pStatus;
     98                if (!pstream)
     99                        return ERROR_INVALID_STREAM;
     100                p2->ulTime = pstream->GetCurrentTime();
     101                ddprintf(("DDCMD_STATUS time:%lx", p2->ulTime));
     102                break;
    116103      }
    117       case DDCMD_CONTROL: 
     104      case DDCMD_CONTROL:
    118105      {
    119106         PDDCMDCONTROL p = (PDDCMDCONTROL) pCommon;
     
    124111         }
    125112
    126          switch (p->ulCmd) 
     113         switch (p->ulCmd)
    127114         {
    128115         case DDCMD_START:
    129116             ddprintf(("DDCMD_START"));
    130117             ulReturnCode = pstream->StartStream();
    131              ddprintf(("DDCMD_START End rc=%ld",ulReturnCode));
     118             //ddprintf(("DDCMD_START End rc=%ld",ulReturnCode));
    132119             return ulReturnCode;
    133120         case DDCMD_STOP:
    134121             ddprintf(("DDCMD_STOP"));
    135 //             DevHelp_ProcBlock ((ULONG)p, 2, 0);
     122                        //DevHelp_ProcBlock ((ULONG)p, 2, 0);
    136123             p->ulParmSize=sizeof(ULONG);
    137124             return pstream->StopStream((PCONTROL_PARM)p->pParm);
     
    156143             return pstream->ResumeStreamTime();
    157144         default:
     145                ddprintf(("DDCMD INVALID REQUEST\n"));
    158146            return ERROR_INVALID_REQUEST;
    159147         } /* endswitch */
    160148      }
    161       case DDCMD_REG_STREAM: 
     149      case DDCMD_REG_STREAM:
    162150      {
    163151         ddprintf(("DDCMD_REG_STREAM size:%lx countbuf:%lx",((PDDCMDREGISTER) pCommon)->ulBufSize, ((PDDCMDREGISTER) pCommon)->ulNumBufs));
Note: See TracChangeset for help on using the changeset viewer.