aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Input/in_mp3/mp4.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Plugins/Input/in_mp3/mp4.cpp')
-rw-r--r--Src/Plugins/Input/in_mp3/mp4.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/Src/Plugins/Input/in_mp3/mp4.cpp b/Src/Plugins/Input/in_mp3/mp4.cpp
new file mode 100644
index 00000000..b1f1c63b
--- /dev/null
+++ b/Src/Plugins/Input/in_mp3/mp4.cpp
@@ -0,0 +1,44 @@
+#include "vlb_sub/aacdecoder.h"
+#include "vlbout.h"
+
+void CStreamInfo::setSampleRate()
+{
+ SetSamplingRate(CChannelInfo::SamplingRateFromIndex(GetSamplingRateIndex ()));
+}
+
+#ifndef ACTIVEX_CONTROL
+//methods used by in_mp4
+extern "C"
+{
+ __declspec( dllexport ) int aacGetBitBuffer()
+ {
+ return (int) new CBitBuffer;
+ }
+
+ __declspec( dllexport ) int aacGetDecoderInterfaces(CAacDecoder **decoder, CBitBuffer *buf, CStreamInfo **info, VLBOut **dataout)
+ {
+ *decoder=new CAacDecoder(*buf);
+ *info=new CStreamInfo;
+ *dataout=new VLBOut();
+ return 1;
+ }
+
+ __declspec( dllexport ) void aacDeleteBitBuffer(CBitBuffer *bitBuffer)
+ {
+ if (bitBuffer)
+ delete bitBuffer;
+ }
+
+ __declspec( dllexport ) void aacDeleteDecoderInterfaces(CAacDecoder *decoder, CStreamInfo *info, VLBOut *dataout)
+ {
+ if (decoder)
+ delete decoder;
+ if (info)
+ delete info;
+ if (dataout)
+ delete dataout;
+ }
+
+
+}
+#endif \ No newline at end of file