Autosuspend should be inhibited when music is streaming to others via DAAP
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Rhythmbox |
Expired
|
Medium
|
|||
rhythmbox (Ubuntu) |
Triaged
|
Wishlist
|
Ubuntu Desktop Bugs |
Bug Description
Binary package hint: rhythmbox
Description of the problem:
When a computer is actively streaming music to other machines over DAAP it is inconvenient to keep poking it to prevent it from automatically turning itself off.
Steps to reproduce:
(Assuming you're on AC power and you have imported some music e.g. /usr/share/
1. Start
gnome-screensav
2. Set "Regard the computer as idle after" to 1 minute.
3. Start
gnome-power-
4. In the "On AC power" tab set the "Put computer to sleep when inactive for" time down to 2 minutes.
5. Start
rhythmbox .
6. Within rhythmbox go to Edit -> Plugins.
7. Within "Configure Plugins" ensure that DAAP music sharing is ticked. Click on the Configure... button.
8. Tick "Share my music".
9. Click Close and then Close again.
10. Use another network computer to start streaming music from the original computer via DAAP.
11. Don't touch the original computer for 2 minutes.
Expected result:
Screen on original computer to dim and be blanked, music in the midst of playing on second computer to continue playing.
Actual result:
Original computer's screen dims but around a minute later music will stop being streamed as it goes to sleep.
Additional information:
If music has never been streamed, has not actively been streamed in the past two minutes or DAAP is turned off then autosuspend should not be inhibited by rhythmbox (unless it is in party mode).
Version information:
Ubuntu Gutsy (development branch)
rhythmbox 0.11.2-0ubuntu2
Changed in rhythmbox: | |
status: | Unknown → New |
Changed in rhythmbox: | |
importance: | Unknown → Medium |
Changed in rhythmbox: | |
status: | New → Expired |
If the PC is on A.C. power the preferred solution would be to set "Put computer to sleep when inactive for" to "Never".
In the 'Power Management Preferences' Help, 'Frequently Asked Questions', 8.4, it says:
"gnome-screensaver is a session daemon that monitors user input, and if the mouse has not been moved, or the keyboard been pressed then it starts a timeout. When the value of this timeout reaches the value set in gnome-screensav er-preferences, then the login is marked as 'session idle'. This is when GNOME Power Manager performs all the session idle actions such as enabling low-power mode and lowering the laptop panel brightness.
As soon as the session is marked at idle, GNOME Power Manager starts it's own 'system' timer. When the timeout set in gnome-power- preferences is reached, and the CPU load is idle, then the idle action is performed, which is usually to turn off the screen, or to suspend or hibernate."
Implementing this suggestion would need Rhythmbox to interact with the power-management features, Many of the scripts for this are distro-specific which would make implementing and maintaining such a function more difficult.
You could create a script that detects when DAAP is active and alters the sleep time-out to "Never" based on if DAAP is listening on a socket, which could be detected using netstat, and have the script run every minute from a cron job. Alternatively, you could use a wrapper script around Rhythmbox that sets the time-out to "Never" before Rhythmbox starts, and restores the original value when it Quits.