mpv-player / mpv

🎥 Command line video player
https://mpv.io
Other
28.1k stars 2.88k forks source link

mpv shows PipeWire warnings on the stats screen if PipeWire configuration files are missing #14517

Closed markozajc closed 2 months ago

markozajc commented 2 months ago

mpv Information

mpv v0.37.0-632-g2a08440afb-dirty Copyright © 2000-2024 mpv/MPlayer/mplayer2 projects
 built on Jul 10 2024 20:44:20
libplacebo version: v6.338.2
FFmpeg version: 6.1.1-4+b4
FFmpeg library versions:
   libavutil       58.29.100
   libavcodec      60.31.102
   libavformat     60.16.100
   libswscale      7.5.100
   libavfilter     9.12.100
   libswresample   4.12.100

Other Information

Note: this issue has the same symptom as #11790, but is not fixed with --ao=pulse and only triggers when displaying the stats screen.

Reproduction Steps

  1. Make sure client-rt.conf is absent from the system. I don't know where libpipewire looks for it, so ideally reproduce this on a system without any pipewire components except libpipewire itself.
  2. Play any media file or stream with --ao=pulse --no-config. I was reproducing the issue with an ogg audio file and --no-video
  3. Press i to trigger the stats screen.

Expected Behavior

The stats screen is shown:

 (+) Audio --aid=1 (vorbis 2ch 48000Hz)
AO: [pulse] 48000Hz stereo 2ch float
File: audio.ogg
        Size: 6.380 MiB  Format/Protocol: ogg
        Total Cache: 57.28 KiB (1.0 sec)

Audio: Vorbis  AO: pulse
        Device: Autoselect device  AO Volume: 100% (Muted)
        Channels: 2  Format: floatp ➜ float
        Sample Rate: 48000 Hz
        Bitrate: 187 kbps
A: 00:00:01 / 00:04:37 (1%)

Actual Behavior

Two pipewire warnings are printed (also mangling the terminal display) along with the stats screen:

 (+) Audio --aid=1 (vorbis 2ch 48000Hz)
AO: [pulse] 48000Hz stereo 2ch float
A: 00:00:03 / 00:04:37 (1%)[W][09477.196660] pw.conf      | [          conf.c: 1175 try_load_conf()] can't load config client-rt.conf: No such file or directory
[E][09477.196722] pw.conf      | [          conf.c: 1204 pw_conf_load_conf_for_context()] can't load config client-rt.conf: No such file or directory
File: audio.ogg
        Size: 6.380 MiB  Format/Protocol: ogg
        Total Cache: 57.28 KiB (1.0 sec)

Audio: Vorbis  AO: pulse
        Device: Autoselect device  AO Volume: 100% (Muted)
        Channels: 2  Format: floatp ➜ float
        Sample Rate: 48000 Hz
        Bitrate: 187 kbps
A: 00:00:01 / 00:04:37 (1%)

Log File

Note: I press i on line 190 output.txt

Sample Files

No response

I carefully read all instruction and confirm that I did the following:

llyyr commented 2 months ago

this on a system without any pipewire components except libpipewire itself.

This isn't a valid pipewire installation according to upstream, the config files need to be installed together with libpipewire.

pipewire requires that the config files be present on the system. If client-rt.conf doesn't exist on your system, report it to your distro.

https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3296#note_1963590

markozajc commented 2 months ago

I see. I will do that.

markozajc commented 2 months ago

Update for fellow Debian users: looks like this bug is already tracked as #1038394 on the BTS. Installing pipewire-bin seems to be a working workaround for mpv without installing the entire PipeWire metapackage.