"Stopped at 0 ms" reported to Jellyfin when switching tracks

Issue description:

Ohai,

when playing media from Jellyfin (10.10.7), when a track change happens Symfonium (13.3.0a) reports “Stopped at 0 ms” to Jellyfin which makes Jellyfin not record the track as “played” (and also drops the submission from Last.fm).

In the Jellyfin logs I see the following:

[INF] [71] Jellyfin.Plugin.Lastfm.ServerEntryPoint: Zhenech is now playing artist=David Orlowsky Trio, track=Berenike, album=Nessiah
[INF] [3] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Android 15 playing Berenike. Stopped at 0 ms
[INF] [3] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Android 15 playing Berenike. Stopped at 0 ms
[INF] [48] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Android 15 playing Berenike. Stopped at 0 ms

In comparison, using Supersonic (0.18.0), it looks like this:

[INF] [60] Jellyfin.Plugin.Lastfm.ServerEntryPoint: Zhenech is now playing artist=David Orlowsky Trio, track=Twisted Bulgar, album=Nessiah
[INF] [76] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app supersonic 0.18.0 playing Twisted Bulgar. Stopped at 136000 ms
[INF] [76] Jellyfin.Plugin.Lastfm.ServerEntryPoint: Zhenech played artist=David Orlowsky Trio, track=Twisted Bulgar, album=Nessiah

This does not happen when I hit “pause” in a song – then the right position is submitted – only when I let the song finish and the next one starts.

Logs:

Upload description: Zhenech-Bulgar

Additional information:

 

 

Reproduction steps:

 

 

Media provider:

Jellyfin

Screenshots:

     

The track is manually marked as played by Symfonium according to user settings.

There’s a couple of issues here about why and what plugins properly support that.

Yes, the playcount is correctly incremented in Jellyfin.

I guess you’re talking about Not able to scobble when Playing through 3rd Party Apps · Issue #55 · jesseward/jellyfin-plugin-lastfm · GitHub / Scrobbles not submitted when cast to device. · Issue #27 · jesseward/jellyfin-plugin-lastfm · GitHub (as that’s the plugin I use)

My understanding is that this plugin would work perfectly with Symfonium if it would report the correct end time (as it does fire the Stop event already – just with a payload that is considered “not played the song”).

My understanding is that if that plugin supported the other events to support offline scrobling it would work with Symfonium :wink: Funny that works too :wink:

It is the choice of that plugin to not support offline scrobbling and advanced use cases, other plugins properly support that via settings.

I will not break Symfonium behavior and generate inconsistent playcounts to workaround a plugin that could be fixed.

Sure, yeah, that way round it’d also work :wink:

Do you know any other Jellyfin plugins for Lastfm? I’ve so far only found standalone apps (which pull data from Jellyfin amd submit it to Lastfm).

No idea I think people use GitHub - lyarenei/jellyfin-plugin-listenbrainz: ListenBrainz plugin for Jellyfin. than can in turn sync to Last.FM

jellyfin-plugin-lastfm now supports Symfonium: Add Alternative Mode for scrobbling on UserDataSaved events by evgeni · Pull Request #80 · jesseward/jellyfin-plugin-lastfm · GitHub – released in 9.0.0 :slight_smile:

Nice.

But again for the record, this is not badly implemented on Symfonium side, this is the only proper way to have control of when to set playcount increase and to be able to properly send offline plays with the proper date and times … :wink:

Else when you come back from a week of offline plays everything is played at the reconnection time. And since the control of when to update playcount is given to the user, this leads to the fact that it is normal, wanted and necessary to do things the way they are for both offline and online plays.