diff --git a/src/Lib/Audio.cc b/src/Lib/Audio.cc index 290af8355b77c1e6fded3919c41e86b5a400ec9e..6f02dbee66e24467cfe523857c9b91badbde9e99 100644 --- a/src/Lib/Audio.cc +++ b/src/Lib/Audio.cc @@ -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; } diff --git a/src/UI/DocumentViews/MpvContainer.cc b/src/UI/DocumentViews/MpvContainer.cc index b63509539601ca142c9a56d4bf4df261d2be0d10..ec7c8d477ff85ca4f3981af5b13462a3b6c26163 100644 --- a/src/UI/DocumentViews/MpvContainer.cc +++ b/src/UI/DocumentViews/MpvContainer.cc @@ -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 + } } }