aboutsummaryrefslogtreecommitdiff
path: root/backends/audiocd/sdl/sdl-audiocd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/audiocd/sdl/sdl-audiocd.cpp')
-rw-r--r--backends/audiocd/sdl/sdl-audiocd.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/backends/audiocd/sdl/sdl-audiocd.cpp b/backends/audiocd/sdl/sdl-audiocd.cpp
index ff50c56af3..d745f29a12 100644
--- a/backends/audiocd/sdl/sdl-audiocd.cpp
+++ b/backends/audiocd/sdl/sdl-audiocd.cpp
@@ -43,10 +43,7 @@ SdlAudioCDManager::SdlAudioCDManager()
}
SdlAudioCDManager::~SdlAudioCDManager() {
- if (_cdrom) {
- SDL_CDStop(_cdrom);
- SDL_CDClose(_cdrom);
- }
+ closeCD();
}
bool SdlAudioCDManager::openCD(int drive) {
@@ -67,6 +64,14 @@ bool SdlAudioCDManager::openCD(int drive) {
return (_cdrom != NULL);
}
+void SdlAudioCDManager::closeCD() {
+ if (_cdrom) {
+ SDL_CDStop(_cdrom);
+ SDL_CDClose(_cdrom);
+ _cdrom = 0;
+ }
+}
+
void SdlAudioCDManager::stopCD() {
// Stop CD Audio in 1/10th of a second
_cdStopTime = SDL_GetTicks() + 100;