1234567891011121314151617181920212223242526272829 |
- #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;
- };
|