GNOME Bugzilla – Bug 427244
Can not use audio device while Rhythmbox is open
Last modified: 2010-05-03 12:48:27 UTC
Please describe the problem: As there is no stop button on the Rhythmbox controls you can't release Rhythmbox's lock on the audio device. which means that any other application trying to use it will not be able to until Rhythmbox is closed. Steps to reproduce: 1. Start playing your playlist in Rhythmbox, something comes up while you're working which requires sound. e.g. you want to watch a quick video clip 2. You end up having to close the application, loosing what ever you were doing at the time. Actual results: Sound card is in use by Rhythmbox so playback of anything else is impossible. Expected results: The ability to release the sound card for use Does this happen every time? yes Other information: I am aware of http://bugzilla.gnome.org/show_bug.cgi?id=320047 (bug #320047) but this is different because the application is the direct cause of a problem which will affect a lot of users.
What makes you think a stop button is required to solve this? We should just release the audio device when paused or not playing anything. This is currently a FIXME in the GStreamer playbin element. I can't find an existing bug for it, though.
yes that would be another solution, personally I like to be able to actually stop playback. for example to be able to restart the song or when I want RB to idle. Anyway i'm happy now, i've hacked in a stop button http://www.michaelwood.me.uk/wordpress/2007/04/07/rhythmbox-stop-button/ I'll attach a patch as soon as I get round to it.
Created attachment 86132 [details] Patch for stop button Tested in 0.10 and 0.9.8
Please attach patches as a single unified diff. It makes it much easier to review them.
Created attachment 86134 [details] [review] second go Here you go. Hope this is correct.
(In reply to comment #5) > Created an attachment (id=86134) [edit] > second go > > Here you go. Hope this is correct. Correct as in the patch is attached properly, but adding a stop button is still just wrong.
Having had the stop button on my rythmbox for 3 weeks, I'm convinced that it is useful. Usability it provides: * Many times I don't actually want to pause the song playing - When taking a break from music but not wanting to loose where i am in my playlist etc. Pause is unsuitable as you don't want to resume a song half way through when you come back to play music. * When the files are on a removable media and you want to eject it the stop button will release the file * If you are playing a song and don't know what to play next, stop allows you to break from the current music and then select play again when you have found the music you want. * When you want to restart a song from the begining * When you need to free up the sound card
(In reply to comment #7) > Usability it provides: > > * Many times I don't actually want to pause the song playing - When taking a > break from music but not wanting to loose where i am in my playlist etc. Pause > is unsuitable as you don't want to resume a song half way through when you come > back to play music. If you hit 'next' while paused, it'll go straight to the next song. Is this a decision you want to make before you go away, or when you come back? > * When the files are on a removable media and you want to eject it the stop > button will release the file If ejecting the device holding the playing song doesn't work, we need to fix it. Users shouldn't have to think about this sort of thing. > * If you are playing a song and don't know what to play next, stop allows you > to break from the current music and then select play again when you have found > the music you want. Pause doesn't? > * When you want to restart a song from the begining Once you're past the first 5 seconds of the song, hitting 'previous' in the main UI will take you back to the beginning of the song. > * When you need to free up the sound card As I've already said, we should release the sound device when paused. Users shouldn't have to think about this sort of thing.
(In reply to comment #8) > (In reply to comment #7) > > * If you are playing a song and don't know what to play next, stop allows you > > to break from the current music and then select play again when you have found > > the music you want. > > Pause doesn't? I had the same problem running HEAD against (5091) on a stock Ubuntu 7.04 machine -- pause indeed paused RB, but then there was no sound when running, say Totem. After trying a bunch of solutions, including changing the soundcard (it's an ISAPnP Soundblaster AWE64) -- I looked at the multimedia device settings, which were set to autoaudiosink. Switching it to ALSA or OSS seems to fix the problem (Totem will play sound while RB is paused) -- switching it back broke it again. So I went looking in GStreamer and found: http://webcvs.freedesktop.org/gstreamer/gst-plugins-good/gst/autodetect/gstautoaudiosink.c?revision=1.25&view=markup After rebuilding the gstreamer0.10-plugins-good package with that fix and restarting my GNOME session, RB does the correct thing when the audiosink is set automatically now.
I have to say that returning the position of playback to the beginning of a song at stop is something I both expect and desire. It may be minor, but it's an annoyance to have to both pause and return to the beginning of the song, especially when within the window that hitting "Back" returns the user to the previous song. As bug #320047 and bug #424878 indicate, this is also behavior expected by other users. While the greatest objection to this seems to be that it would complicate the interface, it's a single additional button that can be added with a gtk+ stock button. Implementation doesn't seem like it would be complicated either, but I'm not familiar with rhythmbox code. Last, as mentioned in the first bug mentioned above, the Stop button is a recognized part of the media player metaphor and to me this eliminates the primary concern of interface complication. I can't find any further articulation of reasons to not include a stop button. If there are still objections, I think they should be addressed.
(In reply to comment #8) > (In reply to comment #7) > > Usability it provides: > > > > * Many times I don't actually want to pause the song playing - When taking a > > break from music but not wanting to loose where i am in my playlist etc. Pause > > is unsuitable as you don't want to resume a song half way through when you come > > back to play music. > > If you hit 'next' while paused, it'll go straight to the next song. Is this a > decision you want to make before you go away, or when you come back? I hit "Play" if i come back. Sorry, but "Next" is next and if there's no song playing, i hit play. > > * When the files are on a removable media and you want to eject it the stop > > button will release the file > > If ejecting the device holding the playing song doesn't work, we need to fix > it. Users shouldn't have to think about this sort of thing. But if you release the file and the soundcard when paused, it may be possible that "play" again might take a longer time. I think that's the reason why the implemented it this way in gstreamer. > > * When you want to restart a song from the begining > > Once you're past the first 5 seconds of the song, hitting 'previous' in the > main UI will take you back to the beginning of the song. IMHO that's an UI break. The previous button should bring me to the previous song not restart. You may laugh: Often i want to restart a song before the first 5 seconds. What's so bad about a Stop-Button? It can't be that little space wasted...
I'm glad this discussion started again; A few new points to add: I've had my "hacked in" stop button in for 4 months and i really don't use pause anymore. I think pause is less useful than stop because resuming a piece of music is very un-natural; Unlike video where it's simple to remember a paused point and therefore resume it. I'm basising this on the majority of times you want to allow an interuption to your music is because of a secondary audio interuption which therefore breaks the music flow. It would also be more logical to have the play button toggle to stop rather than pause as it's a boolean button. (In reply to Comment #10) >Implementation doesn't seem like it would be complicated either i did it a while back; http://bugzilla.gnome.org/attachment.cgi?id=86134 and see my blog post.
From the point of view of keeping close to the media player metaphor I think it's best to leave Play and Pause on the same button. This is how it's done on media hardware and I don't see a particular reason for it to be switched. Part of my reasoning in wanting a stop button is believing that if one is using a familiar interface as a model, one shouldn't make major changes to it without a particularly good reason. I personally find it jarring and I doubt that I'm alone.
When are the changes Jonathan mentioned going to be implemented? Like he says releasing the sound card *should* be done when pausing, but until Rhythmbox actually has these features can we have a stop button?
*** Bug 320047 has been marked as a duplicate of this bug. ***
This is fixed for the crossfading player backend now. It stops the sink (setting it to NULL state) when there are no playing streams.
Setting this to resolved obsolete as the original problem of audio output hogging is fixed by pulseaudio. In hindsight this wasn't a rhymthbox problem, although the patch was useful in my situation (and maybe others) as it was impossible to have rhythmbox open and play any other audio without a stop button.