I wrote alsa drivers for mycard by referring dummy.c sound drivers. My card doesnt support capture functionality. I defined playback operations but not capture operations to avoid capture support. My card driver resides along with other additional usb audio devices.

I have a issue with Master Volume control. When I use amixer to control the master volume, it applies for both palyback and capture streams. For capture amixer function snd_mixer_selem_has_capture_channel(elem, chn) returns true for both left and right channels. Because of this playback volume put operations is called for capture also. Since the same volume control operation is called for both playback and capture it makes volume controls applies twice (increments / decrements).

I modified snddevice script not to create capture devices and ensure the same @/dev/snd.

I need help to avoid / disable this capture support, so that snd_mixer_selem_has_capture_channel(elem, chn) return false for card playback channels.

  • I see null driver opens capture and playback to generate null samples. Is that could be a reason? To ensure that I removed the pcm.null configuations setting from alsa.conf file, but no improvement. What else should be the reason for this.
    – user214604
    Nov 14 '13 at 7:52
  • Why did you start with the dummy driver for a USB device?
    – CL.
    Nov 14 '13 at 9:33

If the implementation of your capture mixer control does the wrong thing, and if you don't even do capturing, then you should not have capture mixer controls in the first place.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.