GNOME Bugzilla – Bug 584804
audioscrobbler only sends one track with RBPlayerGst backend
Last modified: 2018-05-24 14:25:09 UTC
Start playing songs. Only the first track gets submitted. Observations show that rb_shell_player_get_playing_time() returns the playing time of the last-played song, and it's usually larger than 15, so rb_audioscrobbler_song_changed_cb() refuses to queue the current song. This only happens with RBPlayerGst backend. RBPlayerGstXFade seems to run fine.
I don't seem to be able to reproduce this. Is this happening every on every track change or only some of the time?
Created attachment 136264 [details] debug log This log was taken with this patch applied: diff --git a/plugins/audioscrobbler/rb-audioscrobbler.c b/plugins/audioscrobbler/rb-audioscrobbler.c index 268f840..d10ca0a 100644 --- a/plugins/audioscrobbler/rb-audioscrobbler.c +++ b/plugins/audioscrobbler/rb-audioscrobbler.c @@ -1220,6 +1220,8 @@ rb_audioscrobbler_song_changed_cb (RBShellPlayer *player, audioscrobbler->priv->current_elapsed = 0; } + if (rb_audioscrobbler_is_queueable (entry)) + rb_debug("playing time is %d %d", got_time, playing_time); if (rb_audioscrobbler_is_queueable (entry) && (got_time == FALSE || playing_time < 15)) { AudioscrobblerEntry *as_entry; Could it be due to GStreamer? I'm on Gentoo with: - gstreamer 0.10.13 - gst-plugins-bad 0.10.11 - gst-plugins-base 0.10.23 - gst-plugins-good 0.10.14 - gst-plugins-ugly 0.10.11
I guess this is happening because of the way we're doing track changes with playbin2. Try commenting out everything in about_to_finish_cb() in backends/gstreamer/rb-player-gst.c, which should make it behave like it used to. If that stops the problem occurring, there are a few ways we could go about fixing this. If not.. I don't know.
I commented out everything inside about_to_finish_cb() and got negative playing_time instead. "tick_cb" messages showed something like this repeatedly tick: [... 4294967295:189(0)] Progressbar stayed at the beginning. I did not turn sound on so I don't know if it played properly.
I realised I was looking at the wrong thing (and the 'now playing' notification tricked me..); I'm seeing the same thing now. Commenting out about_to_finish_cb stops it from happening here.
fixed in commit 0b217fa895f03cf88d3bb47b7ceffac948d849b7 Thanks for reporting this.
*** Bug 586361 has been marked as a duplicate of this bug. ***
*** Bug 586751 has been marked as a duplicate of this bug. ***
*** Bug 588765 has been marked as a duplicate of this bug. ***
Apparently this still happens with 0.12.3. Someone who can reproduce this: please provide output from 'rhythmbox -d' from around the time that the second track starts.
Can't say for sure whether I get the same problem, but it appears to be similar: When I play a last.fm radio station (Tag or Similar Artists radio), it only scrobbles the first song. Changing station doesn't help. Playing a local file usually works fine, though (but see [bug 615684]). Switching to a last.fm radio station after a local file again scrobbles the first song only. Attached logs shows debug output at the beginning and end of a last.fm radio song that fails to scrobble. I'm using rhythmbox 0.12.8-0ubuntu4. Not really sure when this started happening. It's likely that it's a regression from 0.12.5 (i.e. the version in Ubuntu Karmic), because I think I would have noticed if it worked this bad earlier.
Created attachment 161864 [details] Log at start of song
Created attachment 161865 [details] Log at end of song
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/758.