diff options
author | Andrej Krutak <dev@andree.sk> | 2016-09-18 20:59:25 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2016-09-19 23:00:37 +0200 |
commit | f56742cc41895b1ed3742406dc3587b0d6424acb (patch) | |
tree | 8c359bd99c6905273dc9968c4de13c895010e1e6 /sound/usb/line6/capture.c | |
parent | ALSA: line6: Allow different channel numbers for in/out (diff) | |
download | linux-f56742cc41895b1ed3742406dc3587b0d6424acb.tar.xz linux-f56742cc41895b1ed3742406dc3587b0d6424acb.zip |
ALSA: line6: Add LINE6_CAP_IN_NEEDS_OUT, a void playback stream during capture
E.g. POD X3 seems to require playback data to be sent to it to generate
capture data. Otherwise the device stalls and doesn't send any more capture
data until it's reset.
Signed-off-by: Andrej Krutak <dev@andree.sk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/line6/capture.c')
-rw-r--r-- | sound/usb/line6/capture.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/usb/line6/capture.c b/sound/usb/line6/capture.c index 0228cb4bdfcf..7c812565f90d 100644 --- a/sound/usb/line6/capture.c +++ b/sound/usb/line6/capture.c @@ -232,6 +232,8 @@ static int snd_line6_capture_open(struct snd_pcm_substream *substream) if (err < 0) return err; + line6_pcm_acquire(line6pcm, LINE6_STREAM_CAPTURE_HELPER, false); + runtime->hw = line6pcm->properties->capture_hw; return 0; } @@ -239,6 +241,9 @@ static int snd_line6_capture_open(struct snd_pcm_substream *substream) /* close capture callback */ static int snd_line6_capture_close(struct snd_pcm_substream *substream) { + struct snd_line6_pcm *line6pcm = snd_pcm_substream_chip(substream); + + line6_pcm_release(line6pcm, LINE6_STREAM_CAPTURE_HELPER); return 0; } |