jeffvli / feishin

A modern self-hosted music player.
https://feishin.vercel.app
GNU General Public License v3.0
2.33k stars 90 forks source link

MPRIS reporting status as "Paused" after one song when next one is playing. #678

Closed triluch closed 1 week ago

triluch commented 1 month ago

Expected Behavior

MPRIS status of the player should be "Playing" when it is actually playing - even on 2nd and next songs in queue.

Current Behavior

playerctl/dbus-send retrun "Playing" only on first song, next one is "Paused" even though player is still playing. You can also observe that on icons in the window manager "player status" if your window manager has one (Icon changes from pause to play indicating that player is paused, even when it is not). This goes away after manually pausing/playing/rewinding etc, and happens again when current song ends and next starts playing. If you don't touch anything and let it play, status will remain "Paused".

Steps to Reproduce

  1. Queue few songs
  2. Play them
  3. Run playerctl -F status in some terminal window to follow messages published to dbus - this should return "Playing" on first song.
  4. Wait for first song to play fully (don't skip, don't do anything manually)
  5. Observe that playerctl now returns "Paused" - change happens when song changes.

Possible Solution

No response

Context

I also tried to enable crossfade to see if it changes things, but that also failed. In my case I noticed it because I send on/off command to arduino driving LEDs when stuff is playing and I use playerctl to get the player status. It kinda looks like it tries to briefly pause in between the songs, but doesn't actually publish "play" status?

Edit: happens on web backend, when using mpv status is correct and doesn't change after one (or more) song.

Application version

0.7.1 (Appimage)

Operating System and version

Fedora 39

Server and Version

Navidrome 0.52.5

Node Version (if developing locally)

No response

Workaround

Use mpv as backend instead of web.

iiPythonx commented 1 month ago

Not related to solving the issue, but out of curiosity: are you using the web or mpv player? I've had all sorts of MPRIS related issues with the web player, not so much with mpv.

triluch commented 1 month ago

@iiPythonx web player - wanted to try mpv, but it didn't want to play well with AppImage (pun not intended:)). I will try using tarball though and see if it changes things.

Edit: Aaand with tarball version & mpv it doesn't do that. Still same on web though. So that's at least a workaround (and it seems to use less CPU, which is nice when using it on underpowered machine)

kgarner7 commented 1 week ago

I am not able to reproduce this state in either browser or using web player (tested both local build and https://feishin.vercel.app); marking this as hopefully resolved.