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

Diff for /src/usr.bin/sndiod/sock.c between version 1.1 and 1.2

version 1.1, 2012/11/23 07:03:28 version 1.2, 2012/11/30 20:30:24
Line 505 
Line 505 
 int  int
 sock_rdata(struct sock *f)  sock_rdata(struct sock *f)
 {  {
         struct abuf *buf;          unsigned char midibuf[MIDI_BUFSZ];
         unsigned char *data;          unsigned char *data;
         int n, count;          int n, count;
   
Line 516 
Line 516 
                 panic();                  panic();
         }          }
 #endif  #endif
         if (f->slot)  
                 buf = &f->slot->mix.buf;  
         else  
                 buf = &f->midi->ibuf;  
         while (f->rtodo > 0) {          while (f->rtodo > 0) {
                 data = abuf_wgetblk(buf, &count);                  if (f->slot)
                           data = abuf_wgetblk(&f->slot->mix.buf, &count);
                   else {
                           data = midibuf;
                           count = MIDI_BUFSZ;
                   }
                 if (count > f->rtodo)                  if (count > f->rtodo)
                         count = f->rtodo;                          count = f->rtodo;
                 n = sock_fdread(f, data, count);                  n = sock_fdread(f, data, count);
                 if (n == 0)                  if (n == 0)
                         return 0;                          return 0;
                 f->rtodo -= n;                  f->rtodo -= n;
                 abuf_wcommit(buf, n);                  if (f->slot)
                           abuf_wcommit(&f->slot->mix.buf, n);
                   else
                           midi_in(f->midi, midibuf, n);
         }          }
 #ifdef DEBUG  #ifdef DEBUG
         if (log_level >= 4) {          if (log_level >= 4) {
Line 538 
Line 542 
 #endif  #endif
         if (f->slot)          if (f->slot)
                 slot_write(f->slot);                  slot_write(f->slot);
         if (f->midi)  
                 f->fillpending += midi_in(f->midi);  
         return 1;          return 1;
 }  }
   
Line 864 
Line 866 
                         c = port_bynum(p->devnum - 32);                          c = port_bynum(p->devnum - 32);
                         if (c == NULL)                          if (c == NULL)
                                 return 0;                                  return 0;
                         if (mode & MODE_MIDIOUT)                          midi_link(f->midi, c->midi);
                                 f->midi->txmask |= c->midi->rxmask;  
                         if (mode & MODE_MIDIIN)  
                                 c->midi->txmask |= f->midi->rxmask;  
                 } else                  } else
                         return 0;                          return 0;
                 if (mode & MODE_MIDIOUT)  
                         f->fillpending = MIDI_BUFSZ;  
                 return 1;                  return 1;
         }          }
         f->opt = opt_byname(p->opt, p->devnum);          f->opt = opt_byname(p->opt, p->devnum);

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2