Banshee helper polls Banshee every second, even when no track is playing

Bug #613197 reported by Will Thompson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
DockManager
Fix Released
Low
Robert Dyer
Docky
Invalid
Undecided
Unassigned
2.0
Fix Released
Medium
Rico Tzschichholz

Bug Description

So I'm the kind of person who routinely uses dbus-monitor in his day-to-day development, and was horrified to see traffic like this, every second:

method call sender=:1.831 -> dest=:1.298 serial=111 path=/org/bansheeproject/Banshee/PlayerEngine; interface=org.bansheeproject.Banshee.PlayerEngine; member=GetCurrentState
method return sender=:1.298 -> dest=:1.831 reply_serial=111
   string "playing"
method call sender=:1.831 -> dest=:1.298 serial=112 path=/org/bansheeproject/Banshee/PlayerEngine; interface=org.bansheeproject.Banshee.PlayerEngine; member=GetPosition
method return sender=:1.298 -> dest=:1.831 reply_serial=112
   uint32 1070
method call sender=:1.831 -> dest=:1.34 serial=113 path=/org/gnome/Docky/Items/1771138524; interface=org.gnome.Docky.Item; member=SetBadgeText
   string "4:52"
method return sender=:1.34 -> dest=:1.831 reply_serial=113

Maybe this isn't going to be such a big deal while my CPU is also happily decoding music. But, when Banshee is idle, the following happens every second:

method call sender=:1.830 -> dest=:1.298 serial=76 path=/org/bansheeproject/Banshee/PlayerEngine; interface=org.bansheeproject.Banshee.PlayerEngine; member=GetCurrentState
method return sender=:1.298 -> dest=:1.830 reply_serial=76
   string "paused"
method call sender=:1.830 -> dest=:1.34 serial=77 path=/org/gnome/Docky/Items/1771138524; interface=org.gnome.Docky.Item; member=ResetBadgeText
method return sender=:1.34 -> dest=:1.830 reply_serial=77

This isn't going to be great for my laptop's battery. If only there were some way to avoid having to poll Banshee, waking up four processes (the helper, dbus-daemon, Banshee, and Docky) every second!

signal sender=:1.298 -> dest=(null destination) serial=60471 path=/org/bansheeproject/Banshee/PlayerEngine; interface=org.bansheeproject.Banshee.PlayerEngine; member=StateChanged
   string "playing"
signal sender=:1.298 -> dest=(null destination) serial=60473 path=/org/bansheeproject/Banshee/PlayerEngine; interface=org.bansheeproject.Banshee.PlayerEngine; member=StateChanged
   string "paused"

Revision history for this message
Robert Dyer (psybers) wrote :

I think the behavior is as expected while it is playing.

While idle, it should only wait for a StateChanged event and if it changes to the playing state then poll every second.

Revision history for this message
Robert Dyer (psybers) wrote :

It is definitely currently updating the badge every second, regardless of the current state. That should be fixed.

Revision history for this message
Robert Dyer (psybers) wrote :

Fixed in rev 45.

Changed in dockmanager:
status: New → Fix Committed
assignee: nobody → Robert Dyer (psybers)
importance: Undecided → Low
Changed in docky:
status: New → Invalid
Changed in dockmanager:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.