winamp/Src/Plugins/Encoder/enc_fhgaac/ADTSAACEncoder.h

25 lines
802 B
C
Raw Normal View History

2024-09-24 12:54:57 +00:00
#pragma once
#include "mp4FastAAClib.h"
#include "config.h"
#include "encoder_common.h"
class ADTSAACEncoder : public EncoderCommon
{
public:
static ADTSAACEncoder *CreateDecoder(const AACConfiguration *cfg, int nch, int srate, int bps);
ADTSAACEncoder(HANDLE_MPEG4ENC_ENCODER encoder, const MPEG4ENC_SETUP *setup, int nch, int srate, int bps, float *sample_buffer, unsigned int next_samples);
~ADTSAACEncoder();
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;
bool finishing;
};