diff options
Diffstat (limited to 'sound/decoders/mp3.cpp')
| -rw-r--r-- | sound/decoders/mp3.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/sound/decoders/mp3.cpp b/sound/decoders/mp3.cpp index f66d6324ef..732ae58b67 100644 --- a/sound/decoders/mp3.cpp +++ b/sound/decoders/mp3.cpp @@ -36,7 +36,9 @@ #include <mad.h> - +#if defined(__PSP__) + #include "backends/platform/psp/mp3.h" +#endif namespace Audio { @@ -347,7 +349,18 @@ int MP3Stream::readBuffer(int16 *buffer, const int numSamples) { SeekableAudioStream *makeMP3Stream( Common::SeekableReadStream *stream, DisposeAfterUse::Flag disposeAfterUse) { + +#if defined(__PSP__) + SeekableAudioStream *s = 0; + + if (Mp3PspStream::isOkToCreateStream()) + s = new Mp3PspStream(stream, disposeAfterUse); + + if (!s) // go to regular MAD mp3 stream if ME fails + s = new MP3Stream(stream, disposeAfterUse); +#else SeekableAudioStream *s = new MP3Stream(stream, disposeAfterUse); +#endif if (s && s->endOfData()) { delete s; return 0; |
