Skip to content
Extraits de code Groupes Projets
Vérifiée Valider aab9f08b rédigé par Kubat's avatar Kubat
Parcourir les fichiers

FIX: Try to minimize the segv thing when quiting and leaking MPV

parent bcfcba8c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!27Draft: Fix mpv deadlock on quit main window
......@@ -128,7 +128,7 @@ AudioStream::decodeData()
const size_t frame_count = static_cast<size_t>(frame_count_int);
dataPtr = reinterpret_cast<double *>(
realloc(dataPtr, (dataSize + static_cast<size_t>(dataFrame->nb_samples)) *
sizeof(double)));
sizeof(double)));
memcpy(dataPtr + dataSize, buffer, frame_count * sizeof(double));
dataSize += frame_count;
}
......
......@@ -107,6 +107,14 @@ MpvContainer::~MpvContainer() noexcept
logWarning() << "The main window was already destroyed, "
"don't destroy MPV and let it leak, "
"the OS will collect the garbage.";
if (mpv) {
asyncCommand(AsyncCmdType::None, { "quit", nullptr });
registerMpvTimeCallback(nullptr);
registerMpvDurationCallback(nullptr);
asyncCommand(AsyncCmdType::None, { "quit", nullptr });
mpv = nullptr; // Stop all other callbacks here
isMpvAlreadyInitialized = false; // De-init
}
}
}
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter