Missunderstanding or a BUG in reported frequencies for audio cards present in system.
alsa-project/alsa-lib issue #432 was edited from CapSel:
I use ArchLinux with kernel 6.12.7 with "Zen" patches. HW is ASUS Vivobook 14X pro.
So the problem I'm having is that I can't set pipewire to 96000 sampling rate. I tried all options in pipewire. Nothing helped. But a long time ago it worked fine - I can't remember when (at most week after Baldur's Gate 3 release ;).
What I see in system: when I do `cat /proc/asound/card0/pcm3p/info` (no other pcm* files) I can see `name: HDMI 0` - it's important. with `cat /proc/asound/card0/codec#0` on top there is: ``` Codec: ATI R6xx HDMI Address: 0 AFG Function Id: 0x1 (unsol 0) Vendor Id: 0x1002aa01 Subsystem Id: 0x00aa0100 Revision Id: 0x100700 No Modem Function Group found Default PCM: rates [0x70]: 32000 44100 48000 bits [0x2]: 16 formats [0x1]: PCM ```
for the other (default) audio card: `cat /proc/asound/card1/pcm0p/info` (there is pcm0c file too but I did not check it) gives: `name: ALC294 Analog` `cat /proc/asound/card1/codec#0` on top: ``` Codec: Realtek ALC294 Address: 0 AFG Function Id: 0x1 (unsol 1) Vendor Id: 0x10ec0294 Subsystem Id: 0x10431ab2 Revision Id: 0x100004 No Modem Function Group found Default PCM: rates [0x560]: 44100 48000 96000 192000 bits [0xe]: 16 20 24 formats [0x1]: PCM ```
so as you can see: - hdmi supports up to 48000 - analog supports up to 192000
I first noticed there is something wrong with alsacap program that reports: ``` *** Scanning for playback devices *** Card 0, ID `Generic', name `HD-Audio Generic' Device 3, ID `HDMI 0', name `HDMI 0', 1 subdevices (1 available) 2..8 channels, sampling rate 32000..192000 Hz Sample formats: S16_LE, S32_LE Subdevice 0, name `subdevice #0' Card 1, ID `Generic_1', name `HD-Audio Generic' Device 0, ID `ALC294 Analog', name `ALC294 Analog', 1 subdevices (1 available) 2 channels, sampling rate 44100..48000 Hz Sample formats: S16_LE, S32_LE Subdevice 0, name `subdevice #0' ```
As you can see: - hdmi supports up to 192000 - analog supports up to 48000
so it's... flipped?
here is a output from `cat /proc/asound/pcm`: ``` 00-03: HDMI 0 : HDMI 0 : playback 1 01-00: ALC294 Analog : ALC294 Analog : playback 1 : capture 1 ```
To confirm this I downloaded flac file with 96000 sample rate and tried to play it with ffmpeg after pipewire,pipewire-pulse,wireplumber services are stopped. I confirmed that these programs are disabled by checking if `ps ax | grep wire` before and after, also I monitored logs from these services. It reported error for device "hw:1,0" because it could not set sampling rate to 96000. It did not fail on "hw:0,3" but of course I did not hear anything since external monitor is disconnected.
Replay command: `ffmpeg -i yuri_korzunov-through-moon_ring-96kHz-24bit.flac -f alsa hw:1,0` the file is some random file found in internet that tested with `ffprobe` shows that it has sample rate of 96000. I don't want to attach it since I forgot where I found it ;)
I don't have `asound.conf` files in `/etc/` or `~/.config`.
After connecting external monitor alsacap reports max 48000 for both cards. FFmpeg reports sampling rate problem with both audio cards: ``` [alsa @ 0x586316542b00] sample rate 96000 not available, nearest is 48000 ```
I had this monitor connected before and alsacap reported "flipped" results - not like now that both cards are limited to 48000.
What else can I do to discover the problem?
Issue URL : https://github.com/alsa-project/alsa-lib/issues/432 Repository URL: https://github.com/alsa-project/alsa-lib
participants (1)
-
GitHub issues - edited