for music, stop checking if future was cancelled due to a horrible race condition with an unknown reason why it happens (#700)

This commit is contained in:
Crystalwarrior 2022-03-25 14:31:10 +03:00 committed by GitHub
parent 9dd1407103
commit 70230a6e61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -16,7 +16,6 @@ AOMusicPlayer::~AOMusicPlayer()
QString AOMusicPlayer::play(QString p_song, int channel, bool loop, QString AOMusicPlayer::play(QString p_song, int channel, bool loop,
int effect_flags) int effect_flags)
{ {
QFuture<QString> invoking_future = music_watcher.future();
channel = channel % m_channelmax; channel = channel % m_channelmax;
if (channel < 0) // wtf? if (channel < 0) // wtf?
return "[ERROR] Invalid Channel"; return "[ERROR] Invalid Channel";
@ -45,13 +44,6 @@ QString AOMusicPlayer::play(QString p_song, int channel, bool loop,
int error_code = BASS_ErrorGetCode(); int error_code = BASS_ErrorGetCode();
if (invoking_future.isCanceled()) {
// Target future has changed. This stream has become irrelevant.
// So even if the stream manages to finish after the latest one, we don't run
// into order issues.
return QString();
}
if (ao_app->get_audio_output_device() != "default") if (ao_app->get_audio_output_device() != "default")
BASS_ChannelSetDevice(m_stream_list[channel], BASS_GetDevice()); BASS_ChannelSetDevice(m_stream_list[channel], BASS_GetDevice());