Skip to content
Commit 8d623b93 authored by Matěj Laitl's avatar Matěj Laitl
Browse files

MultiTrack, EngineController: Fix MultiTrack API

In previous API, the only way to get next track url is
multiTrack->next(), which also advances the current index.
EngineController doesn't work this way, it needs to know next url in
the slotAboutToFinish(), but only should only advance the index in
slotNewTrackPlaying() (because aboutToFinish() may be even emitted
multiple times etc).

Correct the api so that the only non-const method is
setSource( int index ). Also change m_multiSource handling in
EngineController so that it is created and destroyed in
slotNewTrackPlaying(), which is a correct place to do that.

Also contains clean-ups to the MultiTrack classes.

This change fixes a bug for MultiTrack streams where metadata wouldn't
be updated because EngineController thinks different source is playing.
Therefore I think it fixes bug 300189. Reporters, please reopen the bug
if this patch doesn't fix the bug and provide full `amarok --debug`
output in that case.

BUG: 300189
FIXED-IN: 2.7
parent 66c00165
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment