pipewire-pulse not setting sink format (and in turn format.rate)
I'm not 100% sure this is an actual issue, but on pulseaudio when switching from a 44.1kHz track to a 48.0kHz track, I can see my dac/amp detect and switch to that mode, but when running pipewire-pulse it stays at the frequency I've set in the config (96kHz in this case, since my device supports it).
Again, I'm not sure this is an actual issue, since I don't know all that much about audio, but this doesn't seem right.
I did two diff's on pactl list
output when switching tracks:
pipewire 6e0fed37:
diff --git a/44kHz.pipewire b/48kHz.pipewire
index d922af1..158a5d4 100644
--- a/44kHz.pipewire
+++ b/48kHz.pipewire
@@ -437,7 +437,7 @@ Sink Input #56
Owner Module: n/a
Client: 52
Sink: 39
- Sample Specification: float32le 2ch 44100Hz
+ Sample Specification: float32le 2ch 48000Hz
Channel Map: front-left,front-right
Format: pcm
Corked: no
@@ -471,7 +471,7 @@ Sink Input #56
library.name = "audioconvert/libspa-audioconvert"
object.id = "19"
client.id = "52"
- node.latency = "1764/44100"
+ node.latency = "1920/48000"
module-stream-restore.id = "sink-input-by-application-name:Audacious"
Client #29
@@ -625,7 +625,7 @@ Client #59
module.id = "2"
object.id = "59"
client.api = "pipewire-pulse"
- application.process.id = "93646"
+ application.process.id = "93627"
application.process.user = "katt"
application.process.host = "main"
application.process.binary = "pactl"
pulseaudio 14.0:
diff --git a/44kHz.pulse b/48kHz.pulse
index 58657c1..31014f1 100644
--- a/44kHz.pulse
+++ b/48kHz.pulse
@@ -192,7 +192,7 @@ Sink #0
Name: alsa_output.usb-262a_MX3-01.iec958-stereo
Description: MX3 Digital Stereo (IEC958)
Driver: module-alsa-card.c
- Sample Specification: s16le 2ch 96000Hz
+ Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 6
Mute: no
@@ -200,7 +200,7 @@ Sink #0
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.usb-262a_MX3-01.iec958-stereo.monitor
- Latency: 319497 usec, configured 460000 usec
+ Latency: 466853 usec, configured 460000 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS
Properties:
alsa.resolution_bits = "16"
@@ -246,7 +246,7 @@ Source #0
Name: alsa_output.usb-262a_MX3-01.iec958-stereo.monitor
Description: Monitor of MX3 Digital Stereo (IEC958)
Driver: module-alsa-card.c
- Sample Specification: s16le 2ch 96000Hz
+ Sample Specification: s16le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 6
Mute: no
@@ -254,7 +254,7 @@ Source #0
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor of Sink: alsa_output.usb-262a_MX3-01.iec958-stereo
- Latency: 0 usec, configured 2000000 usec
+ Latency: 0 usec, configured 4000000 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
device.description = "Monitor of MX3 Digital Stereo (IEC958)"
@@ -278,21 +278,21 @@ Source #0
Formats:
pcm
-Sink Input #16
+Sink Input #17
Driver: protocol-native.c
Owner Module: 9
- Client: 25
+ Client: 27
Sink: 0
- Sample Specification: float32le 2ch 44100Hz
+ Sample Specification: float32le 2ch 48000Hz
Channel Map: front-left,front-right
- Format: pcm, format.sample_format = "\"float32le\"" format.rate = "44100" format.channels = "2" format.channel_map = "\"front-left,front-right\""
+ Format: pcm, format.sample_format = "\"float32le\"" format.rate = "48000" format.channels = "2" format.channel_map = "\"front-left,front-right\""
Corked: no
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
- Buffer Latency: 500010 usec
- Sink Latency: 319369 usec
- Resample method: speex-float-1
+ Buffer Latency: 289312 usec
+ Sink Latency: 466714 usec
+ Resample method: copy
Properties:
media.name = "Audacious"
application.name = "Audacious"
@@ -332,7 +332,7 @@ Client #2
application.process.machine_id = "d1dccf5f50e64923853c62d564a3f99f"
application.process.session_id = "1"
-Client #25
+Client #27
Driver: protocol-native.c
Owner Module: 9
Properties:
@@ -349,14 +349,14 @@ Client #25
application.process.session_id = "1"
application.icon_name = "audacious"
-Client #26
+Client #28
Driver: protocol-native.c
Owner Module: 9
Properties:
application.name = "pactl"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
- application.process.id = "92866"
+ application.process.id = "92894"
application.process.user = "katt"
application.process.host = "main"
application.process.binary = "pactl"