After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 427244 - Can not use audio device while Rhythmbox is open
Can not use audio device while Rhythmbox is open
Status: RESOLVED OBSOLETE
Product: rhythmbox
Classification: Other
Component: User Interface
0.9.8
Other All
: Normal minor
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 320047 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-04-07 11:12 UTC by Michael Wood
Modified: 2010-05-03 12:48 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch for stop button (782 bytes, application/x-compressed-tar)
2007-04-10 20:48 UTC, Michael Wood
  Details
second go (2.01 KB, patch)
2007-04-10 21:14 UTC, Michael Wood
rejected Details | Review

Description Michael Wood 2007-04-07 11:12:02 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.
Comment 1 Jonathan Matthew 2007-04-08 07:05:34 UTC
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.
Comment 2 Michael Wood 2007-04-08 13:35:52 UTC
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.
Comment 3 Michael Wood 2007-04-10 20:48:55 UTC
Created attachment 86132 [details]
Patch for stop button

Tested in 0.10 and 0.9.8
Comment 4 Jonathan Matthew 2007-04-10 21:03:40 UTC
Please attach patches as a single unified diff.  It makes it much easier to review them.
Comment 5 Michael Wood 2007-04-10 21:14:36 UTC
Created attachment 86134 [details] [review]
second go

Here you go. Hope this is correct.
Comment 6 Bastien Nocera 2007-04-10 21:46:55 UTC
(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.

Comment 7 Michael Wood 2007-04-26 21:49:14 UTC
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
Comment 8 Jonathan Matthew 2007-04-26 22:20:24 UTC
(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.

Comment 9 Paul Drain 2007-05-09 13:35:14 UTC
(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.
Comment 10 Seán de Búrca 2007-08-20 22:48:47 UTC
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.
Comment 11 Jan Niklas Hasse (Account disabled) 2007-08-21 00:10:51 UTC
(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...
Comment 12 Michael Wood 2007-08-21 01:43:46 UTC
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. 
Comment 13 Seán de Búrca 2007-08-21 02:01:34 UTC
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.
Comment 14 Stewart Adam 2007-09-09 17:40:47 UTC
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?
Comment 15 Jonathan Matthew 2007-09-13 22:32:15 UTC
*** Bug 320047 has been marked as a duplicate of this bug. ***
Comment 16 Jonathan Matthew 2007-11-25 04:45:45 UTC
This is fixed for the crossfading player backend now.  It stops the sink (setting it to NULL state) when there are no playing streams.
Comment 17 Michael Wood 2010-05-03 12:48:27 UTC
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.