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 680115 - Track progress stops/stuttering occurs when the playlist transitions from MP3 to OGG Vorbis file
Track progress stops/stuttering occurs when the playlist transitions from MP3...
Status: RESOLVED OBSOLETE
Product: rhythmbox
Classification: Other
Component: playback
2.96
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-07-17 16:48 UTC by yiwen wong
Modified: 2018-05-24 17:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description yiwen wong 2012-07-17 16:48:34 UTC
When leaving rhythmbox playing and having a mixed mp3/ogg playlist, ogg tracks may fail to progress when an mp3 to ogg transition occurs.

Steps to reproduce:
1) Create a playlist consisting of an MP3 file followed by an OGG file
2) Play the mp3 file and let the playlist attempt to automatically play the ogg file next.
3) The ogg file will not play unless the progress bar is clicked by the user.

NOTES:
- This bug will also happen when the playlist selects an ogg after an mp3 during shuffling.

- Skipping towards the end of playing the mp3 file and letting it transition will also result in this bug, however it appears that the pause will be limited/shorter when this happens.

- The bug does not appear on an ogg to mp3 transition.

- I have managed to reproduce this bug for different mp3 and ogg files.
Comment 1 David Highley 2013-03-19 03:52:00 UTC
I believe we see this issue also on Fedora 18 with rhythmbox-2.98-4.fc18.x86_64. What we see is if your very patient it will continue to play after a very long pause. Sometimes, but not always when play continues the audio stutters, then we need to change the audio mode say from 7.1 to 5.1 stereo. We have run rhythmbox in a command window and get no whines. We are always able to clear the pause by clicking next or next followed by previous to play the song that it hangs at. Note hang is always at the very beginning. We see the issue switching in both directions between ogg and mp3 files. Attaching gdb we see this pattern which does not seem to very. Tried to get more thread info when it was hung but gdb seemed to block. The space below is where it paused.

[New Thread 0x7f4405e34700 (LWP 3817)]
[Thread 0x7f4405e34700 (LWP 3817) exited]
[Thread 0x7f43f53e7700 (LWP 3794) exited]
[New Thread 0x7f43f53e7700 (LWP 3830)]
[New Thread 0x7f4405e34700 (LWP 3831)]
[New Thread 0x7f43da3b0700 (LWP 3832)]
[Thread 0x7f43da3b0700 (LWP 3832) exited]
[Thread 0x7f4405e34700 (LWP 3831) exited]
[New Thread 0x7f4405e34700 (LWP 3833)]
[Thread 0x7f4405e34700 (LWP 3833) exited]
[New Thread 0x7f4405e34700 (LWP 3835)]
[Thread 0x7f4405e34700 (LWP 3835) exited]
[Thread 0x7f43f53e7700 (LWP 3830) exited]
[New Thread 0x7f43f53e7700 (LWP 3853)]
[New Thread 0x7f4405e34700 (LWP 3854)]
[Thread 0x7f4405e34700 (LWP 3854) exited]
[New Thread 0x7f4405e34700 (LWP 3855)]
[Thread 0x7f4405e34700 (LWP 3855) exited]



[Thread 0x7f43da3b0700 (LWP 3872) exited]
[New Thread 0x7f43da3b0700 (LWP 3883)]
[Thread 0x7f43f63e9700 (LWP 3238) exited]
[New Thread 0x7f43f63e9700 (LWP 3884)]
[Thread 0x7f43da3b0700 (LWP 3883) exited]
[New Thread 0x7f43da3b0700 (LWP 3885)]
[Thread 0x7f440b0be700 (LWP 3880) exited]
[Thread 0x7f440bce9700 (LWP 3879) exited]
[New Thread 0x7f440bce9700 (LWP 3886)]
[New Thread 0x7f440b0be700 (LWP 3887)]
[New Thread 0x7f43f53e7700 (LWP 3888)]
[New Thread 0x7f4405e34700 (LWP 3889)]
[New Thread 0x7f43d9baf700 (LWP 3890)]
[New Thread 0x7f43d93ae700 (LWP 3891)]
[Thread 0x7f43da3b0700 (LWP 3885) exited]
[Thread 0x7f43f53e7700 (LWP 3888) exited]
[Thread 0x7f4405e34700 (LWP 3889) exited]
[Thread 0x7f43d93ae700 (LWP 3891) exited]
[Thread 0x7f43f63e9700 (LWP 3884) exited]
Comment 2 Jean-François Fortin Tam 2013-03-20 02:48:56 UTC
I've seen this happen too, be it on a 5.1 sound system or a stereo one. I doubt the hardware/pulseaudio setup is the problem. The common pattern I've observed is that it typically chokes on ogg vorbis files (I think on FLAC files too?)

I'm suspecting something is wrong with the way state changes are handled with playbin. Indeed, running in debug mode, I find this part quite suspicious (when switching from a MP3 track to a OGG Vorbis track, the pipeline seems to go back to a paused state):


(22:32:27) [0x110d350] [tick_cb] rb-shell-player.c:3622: tick: [file:///tmp/foo.mp3, 508312363000:506000000000(0)]
(22:32:27) [0x110d350] [bus_cb] rb-player-gst.c:592: got playbin2-stream-changed message
(22:32:27) [0x110d350] [playing_stream_cb] rb-shell-player.c:3538: new playing stream: file:///tmp/%B3%20Select.ogg

[blah blah blah]

(22:32:33) [0x110d350] [tick_cb] rb-shell-player.c:3622: tick: [file:///tmp/%B3%20Select.ogg, 103038549:82000000000(0)]
(22:32:33) [0x110d350] [rb_shell_player_cmd_play] rb-shell-player.c:2341: play!
(22:32:33) [0x110d350] [rb_shell_player_playpause] rb-shell-player.c:2370: doing playpause
(22:32:33) [0x110d350] [rb_shell_player_playpause] rb-shell-player.c:2380: pausing mm player
(22:32:33) [0x110d350] [start_state_change] rb-player-gst.c:381: changing state to PAUSED
(22:32:33) [0x110d350] [start_state_change] rb-player-gst.c:385: state change succeeded synchronously
(22:32:33) [0x110d350] [playing_changed_cb] rb-mpris-plugin.c:1190: emitting PlaybackStatus change
(22:32:33) [0x110d350] [rb_shell_player_sync_with_source] rb-shell-player.c:2947: playing source: 0x10b6040, active entry: 0x7f509c05e490
(22:32:33) [0x110d350] [rb_shell_set_window_title] rb-shell.c:2630: setting title to "並木学 - 王子さま9歳 Select"
(22:32:33) [0x110d350] [rb_shell_player_sync_buttons] rb-shell-player.c:3038: syncing with source 0x10b6040

(22:32:33) [0x110d350] [bus_cb] rb-player-gst.c:532: playbin reached state PAUSED
(22:32:34) [0x110d350] [uninhibit] rb-power-manager-plugin.c:222: uninhibiting; cookie = 1103776679
(22:32:34) [0x110d350] [uninhibit_done] rb-power-manager-plugin.c:200: uninhibited
Comment 3 Jonathan Matthew 2013-03-20 02:58:33 UTC
Are you seeing this with GStreamer 1.0?
Comment 4 David Highley 2013-03-20 03:20:18 UTC
We have gstreamer-0.10.36-2.fc18.x86_64 in Fedora 18.
Comment 5 Arun Raghavan 2013-03-20 11:38:58 UTC
I just saw this on flac -> flac. Backtraces below:

(gdb) t a a bt


Comment 6 Jean-François Fortin Tam 2013-03-23 13:40:36 UTC
I may add another piece of observation here: this will not happen if you click the Next button to switch to the vorbis track in your queue/playlist. It only happens if you let rhythmbox do it automatically at the end of the current song... perhaps something is wrong with the timing and the EoS or "about to finish" signal from playbin?
Comment 7 Jean-François Fortin Tam 2013-03-23 13:43:49 UTC
...and to complement my comment #6: the bug will not be triggered between two subsequent vorbis tracks. Only when chaining up playback of a vorbis (or flac?) song *after a MP3 file*, and only when not pressing the Next button.
Comment 8 Jonathan Matthew 2013-04-01 13:05:20 UTC
After commit 8e274f6 this should only happen if you mix media types within an album, as we no longer ask playbin to do gapless transitions otherwise.
Comment 9 David Highley 2013-04-01 15:32:54 UTC
Well, what about shuffle random playing.
Comment 10 Jonathan Matthew 2013-04-01 21:25:44 UTC
Not a factor.
Comment 11 GNOME Infrastructure Team 2018-05-24 17:37:23 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/1202.