Author: hselasky
Date: Mon May 18 09:07:14 2020
New Revision: 361174
URL: https://svnweb.freebsd.org/changeset/base/361174

Log:
  MFC r360790:
  Set PCM_CAP_VIRTUAL for virtual DSP devices.
  
  Submitted by: Kevin Zheng <kevinz5...@gmail.com>
  PR:           246206
  Sponsored by: Mellanox Technologies

Modified:
  stable/12/sys/dev/sound/pcm/dsp.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/dev/sound/pcm/dsp.c
==============================================================================
--- stable/12/sys/dev/sound/pcm/dsp.c   Mon May 18 09:06:09 2020        
(r361173)
+++ stable/12/sys/dev/sound/pcm/dsp.c   Mon May 18 09:07:14 2020        
(r361174)
@@ -1703,6 +1703,10 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd, caddr_t arg,
                *arg_i = PCM_CAP_REALTIME | PCM_CAP_MMAP | PCM_CAP_TRIGGER;
                if (rdch && wrch && !(dsp_get_flags(i_dev) & SD_F_SIMPLEX))
                        *arg_i |= PCM_CAP_DUPLEX;
+               if (rdch && (rdch->flags & CHN_F_VIRTUAL) != 0)
+                       *arg_i |= PCM_CAP_VIRTUAL;
+               if (wrch && (wrch->flags & CHN_F_VIRTUAL) != 0)
+                       *arg_i |= PCM_CAP_VIRTUAL;
                PCM_UNLOCK(d);
                break;
 
@@ -2653,6 +2657,7 @@ dsp_oss_audioinfo(struct cdev *i_dev, oss_audioinfo *a
                         *       these in pcmchan::caps?
                         */
                        ai->caps = PCM_CAP_REALTIME | PCM_CAP_MMAP | 
PCM_CAP_TRIGGER |
+                           ((ch->flags & CHN_F_VIRTUAL) ? PCM_CAP_VIRTUAL : 0) 
|
                            ((ch->direction == PCMDIR_PLAY) ? PCM_CAP_OUTPUT : 
PCM_CAP_INPUT);
 
                        /*
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to