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

Diff for /src/usr.bin/sndiod/dev.c between version 1.58 and 1.59

version 1.58, 2019/08/29 07:38:15 version 1.59, 2019/09/19 05:02:27
Line 57 
Line 57 
 struct dev *dev_new(char *, struct aparams *, unsigned int, unsigned int,  struct dev *dev_new(char *, struct aparams *, unsigned int, unsigned int,
     unsigned int, unsigned int, unsigned int, unsigned int);      unsigned int, unsigned int, unsigned int, unsigned int);
 void dev_adjpar(struct dev *, int, int, int);  void dev_adjpar(struct dev *, int, int, int);
 int dev_open_do(struct dev *);  int dev_allocbufs(struct dev *);
 int dev_open(struct dev *);  int dev_open(struct dev *);
 void dev_exitall(struct dev *);  void dev_exitall(struct dev *);
 void dev_close_do(struct dev *);  void dev_freebufs(struct dev *);
 void dev_close(struct dev *);  void dev_close(struct dev *);
 int dev_ref(struct dev *);  int dev_ref(struct dev *);
 void dev_unref(struct dev *);  void dev_unref(struct dev *);
Line 1031 
Line 1031 
  * monitor, midi control, and any necessary conversions.   * monitor, midi control, and any necessary conversions.
  */   */
 int  int
 dev_open_do(struct dev *d)  dev_allocbufs(struct dev *d)
 {  {
         if (!dev_sio_open(d)) {  
                 if (log_level >= 1) {  
                         dev_log(d);  
                         log_puts(": failed to open audio device\n");  
                 }  
                 return 0;  
         }  
         if (d->mode & MODE_REC) {          if (d->mode & MODE_REC) {
                 /*                  /*
                  * Create device <-> demuxer buffer                   * Create device <-> demuxer buffer
Line 1073 
Line 1066 
                 } else                  } else
                         d->encbuf = NULL;                          d->encbuf = NULL;
         }          }
         d->pstate = DEV_INIT;  
         if (log_level >= 2) {          if (log_level >= 2) {
                 dev_log(d);                  dev_log(d);
                 log_puts(": ");                  log_puts(": ");
Line 1114 
Line 1106 
                 d->pchan = 2;                  d->pchan = 2;
         if (d->rchan == 0)          if (d->rchan == 0)
                 d->rchan = 2;                  d->rchan = 2;
         if (!dev_open_do(d))          if (!dev_sio_open(d)) {
                   if (log_level >= 1) {
                           dev_log(d);
                           log_puts(": failed to open audio device\n");
                   }
                 return 0;                  return 0;
           }
           if (!dev_allocbufs(d))
                   return 0;
           d->pstate = DEV_INIT;
         return 1;          return 1;
 }  }
   
Line 1141 
Line 1141 
  * ensure buffers are drained   * ensure buffers are drained
  */   */
 void  void
 dev_close_do(struct dev *d)  dev_freebufs(struct dev *d)
 {  {
 #ifdef DEBUG  #ifdef DEBUG
         if (log_level >= 3) {          if (log_level >= 3) {
Line 1149 
Line 1149 
                 log_puts(": closing\n");                  log_puts(": closing\n");
         }          }
 #endif  #endif
         d->pstate = DEV_CFG;  
         dev_sio_close(d);  
         if (d->mode & MODE_PLAY) {          if (d->mode & MODE_PLAY) {
                 if (d->encbuf != NULL)                  if (d->encbuf != NULL)
                         xfree(d->encbuf);                          xfree(d->encbuf);
Line 1170 
Line 1168 
 dev_close(struct dev *d)  dev_close(struct dev *d)
 {  {
         dev_exitall(d);          dev_exitall(d);
         dev_close_do(d);          d->pstate = DEV_CFG;
           dev_sio_close(d);
           dev_freebufs(d);
 }  }
   
 int  int

Legend:
Removed from v.1.58  
changed lines
  Added in v.1.59