aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Input/in_wmvdrm/AudioThread.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Input/in_wmvdrm/AudioThread.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/Plugins/Input/in_wmvdrm/AudioThread.h')
-rw-r--r--Src/Plugins/Input/in_wmvdrm/AudioThread.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/Src/Plugins/Input/in_wmvdrm/AudioThread.h b/Src/Plugins/Input/in_wmvdrm/AudioThread.h
new file mode 100644
index 00000000..4192d604
--- /dev/null
+++ b/Src/Plugins/Input/in_wmvdrm/AudioThread.h
@@ -0,0 +1,40 @@
+#ifndef NULLSOFT_AUDIOTHREADH
+#define NULLSOFT_AUDIOTHREADH
+
+#include "WMHandler.h"
+#include "MediaThread.h"
+#include <wmsdk.h>
+
+class AudioLayer;
+
+class AudioThread : public MediaThread
+{
+public:
+ AudioThread(AudioLayer *audio);
+ void Start(WMHandler *output);
+
+ /* AddBuffers put an audio buffer in the queue
+ it returns true if it was added
+ it returns false if it was NOT added. it is up to YOU (the caller) to sleep for a while and call again
+ */
+ void AudThread();
+ bool EndOfFile()
+ {
+ if (buffers.empty()) // if the buffers are empty, then our thread might never get a chance to signal EOF
+ return true;
+
+ if (eof)
+ return true;
+ eof=1;
+
+ return false;
+ }
+
+private:
+ void AddAPC(MediaBuffer *);
+ int eof;
+ WMHandler *output;
+ AudioLayer *audioLayer;
+
+};
+#endif \ No newline at end of file