aboutsummaryrefslogtreecommitdiff
path: root/Src/Winamp/BurnManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Winamp/BurnManager.cpp')
-rw-r--r--Src/Winamp/BurnManager.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/Src/Winamp/BurnManager.cpp b/Src/Winamp/BurnManager.cpp
new file mode 100644
index 00000000..fa0adaa7
--- /dev/null
+++ b/Src/Winamp/BurnManager.cpp
@@ -0,0 +1,67 @@
+/** (c) Nullsoft, Inc. C O N F I D E N T I A L
+ ** Filename:
+ ** Project:
+ ** Description:
+ ** Author:
+ ** Created:
+ **/
+#include "../Agave/DecodeFile/ifc_audiostream.h"
+#include "../Agave/DecodeFile/api_decodefile.h"
+
+#include "./BurnManager.h"
+
+BurnManager::BurnManager(void) : decodeFile(NULL), context(NULL)
+{
+}
+
+BurnManager::~BurnManager()
+{
+}
+
+void BurnManager::SetDecodeAPI(api_decodefile *decoderAPI)
+{
+ decodeFile = decoderAPI;
+}
+
+api_decodefile *BurnManager::GetDecodeAPI(void)
+{
+ return decodeFile;
+}
+void BurnManager::SetFiles(size_t numFiles, const wchar_t **filenames, BurnManagerCallback *callback)
+{
+ WRESULT *results = new WRESULT[numFiles];
+ memset(results, 0, numFiles * sizeof(WRESULT));
+ callback->OnLicenseCallback(numFiles, results);
+ delete [] results;
+}
+
+ifc_audiostream* BurnManager::CreateDecoder(const wchar_t *filename)
+{
+ AudioParameters parameters;
+ parameters.bitsPerSample = 16;
+ parameters.channels = 2;
+ parameters.sampleRate = 44100;
+
+ ifc_audiostream *decoder = decodeFile->OpenAudio(filename, &parameters);
+ if (decoder && (parameters.bitsPerSample != 16 || parameters.channels != 2 || parameters.sampleRate != 44100))
+ {
+ parameters.errorCode = API_DECODEFILE_BAD_RESAMPLE;
+ decodeFile->CloseAudio(decoder);
+ decoder=0;
+ }
+ return decoder;
+}
+
+void BurnManager::CloseDecoder(ifc_audiostream *decoder)
+{
+ decodeFile->CloseAudio(decoder);
+}
+
+void BurnManager::CancelBurn()
+{
+}
+
+void BurnManager::BurnFinished()
+{
+}
+