From 83f625178a91da44fe6c98584aac4434d3da4a84 Mon Sep 17 00:00:00 2001 From: krcroft Date: Sat, 7 Mar 2020 22:37:02 -0800 Subject: [PATCH] Ensure the first seek isn't cached --- src/dos/cdrom.h | 4 +++- src/dos/cdrom_image.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/dos/cdrom.h b/src/dos/cdrom.h index 1017396a..34b78c2e 100644 --- a/src/dos/cdrom.h +++ b/src/dos/cdrom.h @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -193,7 +194,8 @@ private: int getLength(); private: Sound_Sample *sample = nullptr; - uint32_t track_pos = 0; + // ensure the first seek isn't cached by starting with an impossibly-large position + uint32_t track_pos = (std::numeric_limits::max)(); }; public: diff --git a/src/dos/cdrom_image.cpp b/src/dos/cdrom_image.cpp index 034ccb67..7d45d0f7 100644 --- a/src/dos/cdrom_image.cpp +++ b/src/dos/cdrom_image.cpp @@ -936,7 +936,7 @@ void CDROM_Interface_Image::CDAudioCallBack(Bitu desired_track_frames) desired_track_frames, static_cast(player.cd), static_cast(player.mutex), - static_cast(track_file.get()); + static_cast(track_file.get())); #endif if (player.cd) player.cd->StopAudio();