[pulseaudio-discuss] Digital input on Creative Sound Blaster X-FI HD

Tanu Kaskinen tanuk at iki.fi
Fri Oct 21 13:35:46 UTC 2016


On Wed, 2016-10-19 at 19:03 +0200, Oddbjørn Norstrand wrote:
> Hi
> 
> I am having problems recording from digital input on a Creative Sound
> Blaster X-FI HD. Recordings work using alsa, but I only receive
> samples with value zero when using pulseaudio.
> 
> This is the source from pacmd list-sources:
>    index: 3
>         name: <alsa_input.usb-Creative_Technology_USB_Sound_Blaster_HD_000000tf-00.iec958-stereo>
>         driver: <module-alsa-card.c>
>         flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
>         state: RUNNING
>         suspend cause: 
>         priority: 9048
>         volume: front-left: 65634 / 100% / 0.04 dB,   front-right: 65634 / 100% / 0.04 dB
>                 balance 0.00
>         base volume: 65536 / 100% / 0.00 dB
>         volume steps: 65537
>         muted: no
>         current latency: 0.17 ms
>         max rewind: 0 KiB
>         sample spec: s16le 2ch 44100Hz
>         channel map: front-left,front-right
>                      Stereo
>         used by: 1
>         linked by: 1
>         configured latency: 40.00 ms; range is 0.50 .. 2000.00 ms
>         card: 1 <alsa_card.usb-Creative_Technology_USB_Sound_Blaster_HD_000000tf-00>
>         module: 7
>         properties:
>                 alsa.resolution_bits = "16"
>                 device.api = "alsa"
>                 device.class = "sound"
>                 alsa.class = "generic"
>                 alsa.subclass = "generic-mix"
>                 alsa.name = "USB Audio #1"
>                 alsa.id = "USB Audio"
>                 alsa.subdevice = "0"
>                 alsa.subdevice_name = "subdevice #0"
>                 alsa.device = "1"
>                 alsa.card = "2"
>                 alsa.card_name = "USB Sound Blaster HD"
>                 alsa.long_card_name = "Creative Technology USB Sound Blaster HD at usb-0000:00:14.0-2, full speed"
>                 alsa.driver_name = "snd_usb_audio"
>                 device.bus_path = "pci-0000:00:14.0-usb-0:2:1.0"
>                 sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/sound/card2"
>                 udev.id = "usb-Creative_Technology_USB_Sound_Blaster_HD_000000tf-00"
>                 device.bus = "usb"
>                 device.vendor.id = "041e"
>                 device.vendor.name = "Creative Technology, Ltd"
>                 device.product.id = "3232"
>                 device.product.name = "USB Sound Blaster HD"
>                 device.serial = "Creative_Technology_USB_Sound_Blaster_HD_000000tf"
>                 device.string = "iec958:2"
>                 device.buffering.buffer_size = "352800"
>                 device.buffering.fragment_size = "176400"
>                 device.access_mode = "mmap+timer"
>                 device.profile.name = "iec958-stereo"
>                 device.profile.description = "Digital Stereo (IEC958)"
>                 device.description = "USB Sound Blaster HD Digital Stereo (IEC958)"
>                 alsa.mixer_name = "USB Mixer"
>                 alsa.components = "USB041e:3232"
>                 module-udev-detect.discovered = "1"
>                 device.icon_name = "audio-card-usb"
>         ports:
>                 iec958-stereo-input: Digital Input (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
>                         properties:
> 
>         active port: <iec958-stereo-input>
> 
> When I configure the the sound card to off in tab Configuration in
> pavucontrol this command works giving me a out.wav file with nonzero
> samples.
> ffmpeg -f alsa -i hw:2,1 -t 30 out.wav
> 
> When I configure the digital input in pavucontrol and try this command
> I get a recording where all samples are zero.
> parec --device=alsa_input.usb-Creative_Technology_USB_Sound_Blaster_HD_000000tf-00.iec958-stereo --format=s16le --rate=44100 --channels=2 > samples
> 
> Can anyone see what is wrong or help me further investigate the
> problem?

This is pretty weird. It really looks like it should be working. Maybe
it's a mixer issue? That doesn't seem likely, but I don't have any
other ideas. So, start recording with parec, and while it's running,
save the output from "amixer -c2" and "pactl list". Then, stop parec,
set the card profile to "off" and start recording with ffmpeg. Save the
output from "amixer -c2" again. Then send the amixer and pactl output.

"pactl list" will be so big that it's best to either upload it
somewhere where I can download it from, or attach it as a compressed
file.

-- 
Tanu


More information about the pulseaudio-discuss mailing list