diff options
Diffstat (limited to 'backends/audiocd/sdl/sdl-audiocd.cpp')
-rw-r--r-- | backends/audiocd/sdl/sdl-audiocd.cpp | 13 |
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; |