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

Diff for /src/usr.bin/aucat/aucat.c between version 1.174 and 1.175

version 1.174, 2019/02/21 06:19:51 version 1.175, 2019/05/19 12:44:55
Line 140 
Line 140 
     "[-h fmt] [-i file] [-j flag] [-o file] [-p position] [-q port]\n\t"      "[-h fmt] [-i file] [-j flag] [-o file] [-p position] [-q port]\n\t"
     "[-r rate] [-v volume]\n";      "[-r rate] [-v volume]\n";
   
   static void *
   allocbuf(int nfr, int nch)
   {
           size_t fsize;
   
           if (nch < 0 || nch > NCHAN_MAX) {
                   log_puts("allocbuf: bogus channel count\n");
                   panic();
           }
           fsize = nch * sizeof(adata_t);
           return reallocarray(NULL, nfr, fsize);
   }
   
 static void  static void
 slot_log(struct slot *s)  slot_log(struct slot *s)
 {  {
Line 278 
Line 291 
         }          }
 #endif  #endif
         s->bpf = s->afile.par.bps * (s->cmax - s->cmin + 1);          s->bpf = s->afile.par.bps * (s->cmax - s->cmin + 1);
         s->round = (dev_round * s->afile.rate + dev_rate - 1) / dev_rate;          s->round = ((long long)dev_round * s->afile.rate +
               dev_rate - 1) / dev_rate;
   
         bufsz = s->round * (dev_bufsz / dev_round);          bufsz = s->round * (dev_bufsz / dev_round);
         bufsz -= bufsz % s->round;          bufsz -= bufsz % s->round;
Line 314 
Line 328 
                 if (s->afile.fmt != AFILE_FMT_PCM ||                  if (s->afile.fmt != AFILE_FMT_PCM ||
                     !aparams_native(&s->afile.par)) {                      !aparams_native(&s->afile.par)) {
                         dec_init(&s->conv, &s->afile.par, slot_nch);                          dec_init(&s->conv, &s->afile.par, slot_nch);
                         s->convbuf =                          s->convbuf = allocbuf(s->round, slot_nch);
                             xmalloc(s->round * slot_nch * sizeof(adata_t));  
                 }                  }
                 if (s->afile.rate != dev_rate) {                  if (s->afile.rate != dev_rate) {
                         resamp_init(&s->resamp, s->afile.rate, dev_rate,                          resamp_init(&s->resamp, s->afile.rate, dev_rate,
                             slot_nch);                              slot_nch);
                         s->resampbuf =                          s->resampbuf = allocbuf(dev_round, slot_nch);
                             xmalloc(dev_round * slot_nch * sizeof(adata_t));  
                 }                  }
         }          }
         if (s->mode & SIO_REC) {          if (s->mode & SIO_REC) {
Line 339 
Line 351 
                 if (s->afile.rate != dev_rate) {                  if (s->afile.rate != dev_rate) {
                         resamp_init(&s->resamp, dev_rate, s->afile.rate,                          resamp_init(&s->resamp, dev_rate, s->afile.rate,
                             slot_nch);                              slot_nch);
                         s->resampbuf =                          s->resampbuf = allocbuf(dev_round, slot_nch);
                             xmalloc(dev_round * slot_nch * sizeof(adata_t));  
                 }                  }
                 if (!aparams_native(&s->afile.par)) {                  if (!aparams_native(&s->afile.par)) {
                         enc_init(&s->conv, &s->afile.par, slot_nch);                          enc_init(&s->conv, &s->afile.par, slot_nch);
                         s->convbuf =                          s->convbuf = allocbuf(s->round, slot_nch);
                             xmalloc(s->round * slot_nch * sizeof(adata_t));  
                 }                  }
   
                 /*                  /*
Line 709 
Line 719 
         dev_round = par.round;          dev_round = par.round;
         if (mode & SIO_PLAY) {          if (mode & SIO_PLAY) {
                 dev_pchan = par.pchan;                  dev_pchan = par.pchan;
                 dev_pbuf = xmalloc(sizeof(adata_t) * dev_pchan * dev_round);                  dev_pbuf = allocbuf(dev_round, dev_pchan);
         }          }
         if (mode & SIO_REC) {          if (mode & SIO_REC) {
                 dev_rchan = par.rchan;                  dev_rchan = par.rchan;
                 dev_rbuf = xmalloc(sizeof(adata_t) * dev_rchan * dev_round);                  dev_rbuf = allocbuf(dev_round, dev_rchan);
         }          }
         dev_pstate = DEV_STOP;          dev_pstate = DEV_STOP;
         if (log_level >= 2) {          if (log_level >= 2) {
Line 1075 
Line 1085 
         dev_bufsz = rate;          dev_bufsz = rate;
         dev_round = rate;          dev_round = rate;
         dev_pchan = dev_rchan = cmax + 1;          dev_pchan = dev_rchan = cmax + 1;
         dev_pbuf = dev_rbuf = xmalloc(sizeof(adata_t) * dev_pchan * dev_round);          dev_pbuf = dev_rbuf = allocbuf(dev_round, dev_pchan);
         dev_pstate = DEV_STOP;          dev_pstate = DEV_STOP;
         for (s = slot_list; s != NULL; s = s->next)          for (s = slot_list; s != NULL; s = s->next)
                 slot_init(s);                  slot_init(s);

Legend:
Removed from v.1.174  
changed lines
  Added in v.1.175