aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/Encoder/enc_fhgaac/FhGAACEncoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Plugins/Encoder/enc_fhgaac/FhGAACEncoder.h')
-rw-r--r--Src/Plugins/Encoder/enc_fhgaac/FhGAACEncoder.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/Src/Plugins/Encoder/enc_fhgaac/FhGAACEncoder.h b/Src/Plugins/Encoder/enc_fhgaac/FhGAACEncoder.h
new file mode 100644
index 00000000..6bd8fec7
--- /dev/null
+++ b/Src/Plugins/Encoder/enc_fhgaac/FhGAACEncoder.h
@@ -0,0 +1,29 @@
+#pragma once
+#include "MP4Writer.h"
+#include "mp4FastAAClib.h"
+#include "config.h"
+#include "encoder_common.h"
+
+class FhGAACEncoder : public EncoderCommon
+{
+public:
+ static FhGAACEncoder *CreateDecoder(const AACConfiguration *cfg, int nch, int srate, int bps);
+ FhGAACEncoder(HANDLE_MPEG4ENC_ENCODER encoder, const MPEG4ENC_SETUP *setup, int nch, int srate, int bps, float *sample_buffer, unsigned int next_samples);
+ ~FhGAACEncoder();
+ int Encode(int framepos, void *in, int in_avail, int *in_used, void *out, int out_avail);
+ void PrepareToFinish();
+ void Finish(const wchar_t *filename);
+private:
+ HANDLE_MPEG4ENC_ENCODER encoder;
+ unsigned int channels;
+ unsigned int sample_rate;
+ unsigned int bits_per_sample;
+ unsigned int next_samples;
+ unsigned int samples_per_frame;
+ float *sample_buffer;
+ MP4Writer mp4_writer;
+ uint64_t total_samples;
+ uint64_t decodable_samples;
+ bool finishing;
+ bool resampling;
+}; \ No newline at end of file