Skip to content

MPV player backend not working on Windows – no playback, IPC command invalid #940

@Hiraku92

Description

@Hiraku92

Expected Behavior

When using the MPV player backend, Feishin should send playback commands to MPV via IPC and start audio playback.

Current Behavior

Feishin falls back to the web player with the following error:

[AUDIO PLAYER] Failed to restart mpv, falling back to web player - mpv errorcode 3 - IPC command invalid

MPV is properly detected and launched. No error is shown in the MPV window, but playback does not start and MPV receives no visible command. No audio plays.

Steps to Reproduce

  1. Install MPV via Chocolatey (mpvio.install)
  2. Confirm MPV plays FLAC files via command line: ✅
  3. Set "mpv_path" and "mpv_ipc_socket" in config.json:
    "mpv_path": "C:\ProgramData\chocolatey\lib\mpvio.install\tools\mpv.exe",
    "mpv_ipc_socket": "\\.\pipe\feishin-mpv"
  4. Launch MPV manually with:
    mpv --no-config --idle --input-ipc-server=\.\pipe\feishin-mpv
  5. Start Feishin and try to play a track
  6. MPV stays idle, nothing loads, Feishin logs show errorcode 3

Possible Solution

MPV works manually, so the IPC command may be malformed or not dispatched properly by Feishin.

Allow setting the socket path via GUI settings, and consider adding IPC debug output in dev tools.

Context

I want to use MPV for better audio quality and filters. It works perfectly outside of Feishin but fails inside it. Feishin correctly detects MPV but cannot trigger playback.

Tested on Windows 10 22H2 – MPV v0.40.0 – Feishin v0.12.7 – Chocolatey install.

Thanks for your work! I'm happy to test anything to help fix this.

Application version

0.13.0

Operating System and version

Windows 11 23H2

Server and Version

Navidrome 0.56.1

Node Version (if developing locally)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions