diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Plugins/Encoder/enc_fhgaac/FhGAACEncoder.h | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/Plugins/Encoder/enc_fhgaac/FhGAACEncoder.h')
-rw-r--r-- | Src/Plugins/Encoder/enc_fhgaac/FhGAACEncoder.h | 29 |
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 |