GNOME Bugzilla – Bug 680115
Track progress stops/stuttering occurs when the playlist transitions from MP3 to OGG Vorbis file
Last modified: 2018-05-24 17:37:23 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.
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]
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
Are you seeing this with GStreamer 1.0?
We have gstreamer-0.10.36-2.fc18.x86_64 in Fedora 18.
I just saw this on flac -> flac. Backtraces below: (gdb) t a a bt
+ Trace 231664
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?
...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.
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.
Well, what about shuffle random playing.
Not a factor.
-- 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.