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 707744 - Song is being replayed when paused.
Song is being replayed when paused.
Status: RESOLVED FIXED
Product: gnome-music
Classification: Applications
Component: general
unspecified
Other Linux
: High major
: 3.12
Assigned To: gnome-music-maint
gnome-music-maint
Depends on:
Blocks:
 
 
Reported: 2013-09-09 02:19 UTC by Arnel Borja
Modified: 2014-02-19 15:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Attachment for pathc (1.02 KB, patch)
2014-02-18 17:51 UTC, Sai Suman Prayaga
needs-work Details | Review

Description Arnel Borja 2013-09-09 02:19:28 UTC
When a song is played, paused it then played it again, it will repeat the song once it ends even though the repeat mode is not repeat song.

To reproduce:
1. Play a song
2. Set repeat mode to repeat all
3. Move the position to some seconds before the end
4. Pause playback
5. Continue playback
6. Wait until the song ends

Expected: The next song will be played
Result:   The current song will be played instead
Comment 1 Sai Suman Prayaga 2014-02-18 17:51:01 UTC
Created attachment 269587 [details] [review]
Attachment for pathc

When a song is in a paused state and played, the current song should not be loaded again which is the source of the problem and is fixed in the patch.
Comment 2 Vadim Rutkovsky 2014-02-19 14:11:11 UTC
Review of attachment 269587 [details] [review]:

::: gnomemusic/player.py
@@ +375,3 @@
         if self.player.get_state(1)[1] != Gst.State.PAUSED:
             self.stop()
+        elif self.player.get_state(1)[1] == Gst.State.PAUSED:

We don't need elif here

@@ +376,3 @@
             self.stop()
+        elif self.player.get_state(1)[1] == Gst.State.PAUSED:
+            self.player.set_state(Gst.State.PLAYING)

The following code duplicates the code further down the function. We should reuse it instead of copying