aboutsummaryrefslogtreecommitdiff
path: root/Src/mp3-mpg123/NSVFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/mp3-mpg123/NSVFactory.cpp')
-rw-r--r--Src/mp3-mpg123/NSVFactory.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/Src/mp3-mpg123/NSVFactory.cpp b/Src/mp3-mpg123/NSVFactory.cpp
new file mode 100644
index 00000000..b8320f0c
--- /dev/null
+++ b/Src/mp3-mpg123/NSVFactory.cpp
@@ -0,0 +1,26 @@
+#include "NSVFactory.h"
+#include "nsvmain.h"
+#include "api__mp3-mpg123.h"
+#include "../nsv/nsvlib.h"
+
+IAudioDecoder *NSVFactory::CreateAudioDecoder(FOURCC format, IAudioOutput **output)
+{
+ switch (format)
+ {
+ case NSV_MAKETYPE('M', 'P', '3', ' '):
+ {
+ MP3_Decoder *dec;
+ WASABI_API_MEMMGR->New(&dec);
+ return dec;
+ }
+
+ default:
+ return 0;
+ }
+}
+
+#define CBCLASS NSVFactory
+START_DISPATCH;
+CB(SVC_NSVFACTORY_CREATEAUDIODECODER, CreateAudioDecoder)
+END_DISPATCH;
+#undef CBCLASS