aboutsummaryrefslogtreecommitdiff
path: root/backends/audiocd/macosx
diff options
context:
space:
mode:
authorBastien Bouclet2018-07-31 21:41:10 +0200
committerBastien Bouclet2018-07-31 21:44:26 +0200
commitde886a8b5852248898ff86088dc867cf12a7e245 (patch)
tree2beec1457e3b487f854e7dfd9d67cd96bf6678e7 /backends/audiocd/macosx
parent2586ca2345751a0ca5eb2c694e5e2c753054f069 (diff)
downloadscummvm-rg350-de886a8b5852248898ff86088dc867cf12a7e245.tar.gz
scummvm-rg350-de886a8b5852248898ff86088dc867cf12a7e245.tar.bz2
scummvm-rg350-de886a8b5852248898ff86088dc867cf12a7e245.zip
AUDIO: Fix broken physical audio CD playback on non-win32
The play method did not override the base class due to the addition of the soundType parameter.
Diffstat (limited to 'backends/audiocd/macosx')
-rw-r--r--backends/audiocd/macosx/macosx-audiocd.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/backends/audiocd/macosx/macosx-audiocd.cpp b/backends/audiocd/macosx/macosx-audiocd.cpp
index e8d41c3e10..69cabfa736 100644
--- a/backends/audiocd/macosx/macosx-audiocd.cpp
+++ b/backends/audiocd/macosx/macosx-audiocd.cpp
@@ -72,13 +72,14 @@ public:
MacOSXAudioCDManager() {}
~MacOSXAudioCDManager();
- bool open();
- void close();
- bool play(int track, int numLoops, int startFrame, int duration, bool onlyEmulate = false);
+ bool open() override;
+ void close() override;
+ bool play(int track, int numLoops, int startFrame, int duration, bool onlyEmulate,
+ Audio::Mixer::SoundType soundType) override;
protected:
- bool openCD(int drive);
- bool openCD(const Common::String &drive);
+ bool openCD(int drive) override;
+ bool openCD(const Common::String &drive) override;
private:
struct Drive {
@@ -209,9 +210,10 @@ MacOSXAudioCDManager::DriveList MacOSXAudioCDManager::detectAllDrives() {
return drives;
}
-bool MacOSXAudioCDManager::play(int track, int numLoops, int startFrame, int duration, bool onlyEmulate) {
+bool MacOSXAudioCDManager::play(int track, int numLoops, int startFrame, int duration, bool onlyEmulate,
+ Audio::Mixer::SoundType soundType) {
// Prefer emulation
- if (DefaultAudioCDManager::play(track, numLoops, startFrame, duration, onlyEmulate))
+ if (DefaultAudioCDManager::play(track, numLoops, startFrame, duration, onlyEmulate, soundType))
return true;
// If we're set to only emulate, or have no CD drive, return here
@@ -248,7 +250,7 @@ bool MacOSXAudioCDManager::play(int track, int numLoops, int startFrame, int dur
// Fake emulation since we're really playing an AIFF file
_emulating = true;
- _mixer->playStream(Audio::Mixer::kMusicSoundType, &_handle,
+ _mixer->playStream(soundType, &_handle,
Audio::makeLoopingAudioStream(seekStream, start, end, (numLoops < 1) ? numLoops + 1 : numLoops), -1, _cd.volume, _cd.balance);
return true;
}