[BACK]Return to sock.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / aucat

Diff for /src/usr.bin/aucat/Attic/sock.c between version 1.61 and 1.62

version 1.61, 2011/11/15 08:05:22 version 1.62, 2011/11/20 22:54:51
Line 62 
Line 62 
         };          };
         static char *rstates[] = { "rdat", "rmsg", "rret" };          static char *rstates[] = { "rdat", "rmsg", "rret" };
         static char *wstates[] = { "widl", "wmsg", "wdat" };          static char *wstates[] = { "widl", "wmsg", "wdat" };
         struct aproc *midi;  
   
         midi = f->dev ? f->dev->midi : NULL;          if (f->slot >= 0) {
         if (f->slot >= 0 && APROC_OK(midi)) {                  dbg_puts(f->dev->slot[f->slot].name);
                 dbg_puts(midi->u.ctl.slot[f->slot].name);                  dbg_putu(f->dev->slot[f->slot].unit);
                 dbg_putu(midi->u.ctl.slot[f->slot].unit);  
         } else          } else
                 dbg_puts(f->pipe.file.name);                  dbg_puts(f->pipe.file.name);
         dbg_puts("/");          dbg_puts("/");
Line 121 
Line 119 
         f->pipe.file.rproc = NULL;          f->pipe.file.rproc = NULL;
         if (f->pipe.file.wproc) {          if (f->pipe.file.wproc) {
                 if (f->slot >= 0)                  if (f->slot >= 0)
                         ctl_slotdel(f->dev->midi, f->slot);                          dev_slotdel(f->dev, f->slot);
                 aproc_del(f->pipe.file.wproc);                  aproc_del(f->pipe.file.wproc);
                 file_del(&f->pipe.file);                  file_del(&f->pipe.file);
         }          }
Line 226 
Line 224 
         f->pipe.file.wproc = NULL;          f->pipe.file.wproc = NULL;
         if (f->pipe.file.rproc) {          if (f->pipe.file.rproc) {
                 if (f->slot >= 0)                  if (f->slot >= 0)
                         ctl_slotdel(f->dev->midi, f->slot);                          dev_slotdel(f->dev, f->slot);
                 aproc_del(f->pipe.file.rproc);                  aproc_del(f->pipe.file.rproc);
                 file_del(&f->pipe.file);                  file_del(&f->pipe.file);
         }          }
Line 375 
Line 373 
         wbuf = LIST_FIRST(&f->pipe.file.wproc->ins);          wbuf = LIST_FIRST(&f->pipe.file.wproc->ins);
         rbuf = LIST_FIRST(&f->pipe.file.rproc->outs);          rbuf = LIST_FIRST(&f->pipe.file.rproc->outs);
         if (rbuf || wbuf)          if (rbuf || wbuf)
                 ctl_slotstop(f->dev->midi, f->slot);                  dev_slotstop(f->dev, f->slot);
         if (rbuf)          if (rbuf)
                 abuf_eof(rbuf);                  abuf_eof(rbuf);
         if (wbuf)          if (wbuf)
Line 428 
Line 426 
                 f->pstate = SOCK_START;                  f->pstate = SOCK_START;
         } else {          } else {
                 f->pstate = SOCK_READY;                  f->pstate = SOCK_READY;
                 if (ctl_slotstart(f->dev->midi, f->slot))                  if (dev_slotstart(f->dev, f->slot))
                         (void)sock_attach(f, 0);                          (void)sock_attach(f, 0);
         }          }
 }  }
Line 586 
Line 584 
         switch (f->pstate) {          switch (f->pstate) {
         case SOCK_START:          case SOCK_START:
         case SOCK_READY:          case SOCK_READY:
                 if (ctl_slotstart(f->dev->midi, f->slot)) {                  if (dev_slotstart(f->dev, f->slot)) {
                         (void)sock_attach(f, 1);                          (void)sock_attach(f, 1);
                         f->pstate = SOCK_RUN;                          f->pstate = SOCK_RUN;
                 }                  }
Line 926 
Line 924 
         }          }
 #ifdef DEBUG  #ifdef DEBUG
         if (debug_level >= 2) {          if (debug_level >= 2) {
                 if (APROC_OK(f->dev->midi)) {                  dbg_puts(f->dev->slot[f->slot].name);
                         dbg_puts(f->dev->midi->u.ctl.slot[f->slot].name);                  dbg_putu(f->dev->slot[f->slot].unit);
                         dbg_putu(f->dev->midi->u.ctl.slot[f->slot].unit);  
                 } else  
                         dbg_puts(f->pipe.file.name);  
                 dbg_puts(": buffer size = ");                  dbg_puts(": buffer size = ");
                 dbg_putu(f->bufsz);                  dbg_putu(f->bufsz);
                 if (f->mode & MODE_PLAY) {                  if (f->mode & MODE_PLAY) {
Line 1082 
Line 1077 
         f->xrun = (f->opt->mmc) ? XRUN_SYNC : XRUN_IGNORE;          f->xrun = (f->opt->mmc) ? XRUN_SYNC : XRUN_IGNORE;
         f->bufsz = f->dev->bufsz;          f->bufsz = f->dev->bufsz;
         f->round = f->dev->round;          f->round = f->dev->round;
         f->slot = ctl_slotnew(f->dev->midi, p->who,          f->slot = dev_slotnew(f->dev, p->who, &ctl_sockops, f, f->opt->mmc);
             &ctl_sockops, f,  
             f->opt->mmc);  
         if (f->slot < 0)          if (f->slot < 0)
                 return 0;                  return 0;
         f->pstate = SOCK_INIT;          f->pstate = SOCK_INIT;
Line 1225 
Line 1218 
                  * see how this is fixed in wav.c                   * see how this is fixed in wav.c
                  */                   */
                 if ((f->pstate == SOCK_START || f->pstate == SOCK_READY) &&                  if ((f->pstate == SOCK_START || f->pstate == SOCK_READY) &&
                     ctl_slotstart(f->dev->midi, f->slot))                      dev_slotstart(f->dev, f->slot))
                         (void)sock_attach(f, 1);                          (void)sock_attach(f, 1);
                 if (f->wstate != SOCK_WDATA || f->wtodo == 0)                  if (f->wstate != SOCK_WDATA || f->wtodo == 0)
                         sock_freebuf(f);                          sock_freebuf(f);
Line 1336 
Line 1329 
                 }                  }
                 sock_setvol(f, ctl);                  sock_setvol(f, ctl);
                 if (f->slot >= 0)                  if (f->slot >= 0)
                         ctl_slotvol(f->dev->midi, f->slot, ctl);                          dev_slotvol(f->dev, f->slot, ctl);
                 f->rtodo = sizeof(struct amsg);                  f->rtodo = sizeof(struct amsg);
                 f->rstate = SOCK_RMSG;                  f->rstate = SOCK_RMSG;
                 break;                  break;
Line 1585 
Line 1578 
                 }                  }
                 /*                  /*
                  * XXX: sock_attach() may not start if there's not enough                   * XXX: sock_attach() may not start if there's not enough
                  *      samples queued, if so ctl_slotstart() will trigger                   *      samples queued, if so dev_slotstart() will trigger
                  *      other streams, but this one won't start.                   *      other streams, but this one won't start.
                  */                   */
                 if (f->pstate == SOCK_READY && ctl_slotstart(f->dev->midi, f->slot))                  if (f->pstate == SOCK_READY && dev_slotstart(f->dev, f->slot))
                         (void)sock_attach(f, 0);                          (void)sock_attach(f, 0);
                 break;                  break;
         case SOCK_RRET:          case SOCK_RRET:

Legend:
Removed from v.1.61  
changed lines
  Added in v.1.62