mirror of
https://github.com/clementine-player/Clementine
synced 2024-12-17 03:45:56 +01:00
Fix little dropout when transition to next track. Updates #4542.
SourceDrainedCallback() has a valid next url and calls TransitionToNext(). This sets a new decode bin for the pipeline. The pipeline then buffers the new track and sends GST_MESSAGE_BUFFERING. BufferingMessageReceived() then pauses the pipeline because it's buffering. But we are buffering the next track and not the current one, so the pipeline has still data and doesn't need to be paused.
This commit is contained in:
parent
37a6c125c0
commit
d32c3236ef
@ -684,6 +684,13 @@ void GstEnginePipeline::BufferingMessageReceived(GstMessage* msg) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If we are loading new next track, we don't have to pause the playback.
|
||||
// The buffering is for the next track and not the current one.
|
||||
if (emit_track_ended_on_stream_start_) {
|
||||
qLog(Debug) << "Buffering next track";
|
||||
return;
|
||||
}
|
||||
|
||||
int percent = 0;
|
||||
gst_message_parse_buffering(msg, &percent);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user