Tascam US122L, JACK, PulseAudio and OBS
stephematician opened this issue · 1 comments
Apologies if this is the wrong place - however I'm getting an error most of the time in a very specific situation.
My setup is a TASCAM US122L USB interface, which ALSA is capable of recognising and setting up as a usb_stream device. I then run jackd for this device, load the pulseaudio module for a JACK source (at this point I can record via parecord), and then attempt to add a PulseAudio source to OBS.
The contents of my .asoundrc are somewhat widely used:
# The usb_stream plugin configuration
pcm.!usb_stream {
@args [ CARD ]
@args.CARD {
type string
default "1"
}
type usb_stream
card $CARD
}
ctl.!usb_stream {
@args [ CARD ]
@args.CARD {
type string
default "1"
}
type hw
card $CARD
}
I run jackd with a command like:
/usr/bin/jackd -v -p128 -dalsa -dusb_stream:CARD=US122L -r44100 -p256 -n2 -C
I then set up a source in PulseAudio using pacmd load-module module-jack-source
. Typically at this point, parecord --device=jack_in test.wav
records no problems.
Then I'll run OBS and try to add a PulseAudio input, at which point I usually get a very short period of input (less than 1 second?) and then the input will cut out and I'll see the following error in jackd output:
Couldn't configure usb_stream
: Input/output error
ALSA: prepare error for capture on "usb_stream:CARD=US122L" (Input/output error)
Upon tracking this down, it seems that some call to snd_pcm_prepare by JACK is receiving an error code; but I'm not an expert in this library (or alsa) so it's hard for me to even guess what the problem could be.
It could also be a problem with ALSA so I shall also raise this issue there.
What's extra strange is that twice I have got the PulseAudio input to work in OBS and it hasn't crashed, but I cannot determine under what circumstances it worked and why it worked. Most of the time, it fails as described.
May be related to this bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1960703